获得多个聚合结果值的最佳或最有效方法是什么?
基本上,我有一个电子邮件应用程序,想要获取每种类型的文件夹(收件箱、已发送、已存档、已标记...)的所有邮件数量,如下定义。
这是我在一个存储过程调用中尝试做的事情的示例。(其中 [uid] 是用户 ID)
SELECT * FROM Message
Inbox WHERE [to] = [uid]
Unread WHERE [to] = [uid] and isread = 0
Flagged WHERE [to] = [uid] and isFlagged = 1
Drafts WHERE [to] = [uid] and isDraft = 1
Sent Messages WHERE [from] = [uid]
Archived Messages WHERE [to] = [uid] and isArchived = 1
Run Code Online (Sandbox Code Playgroud)