SQLite滥用聚合:SUM()

tmi*_*hty 1 sql sqlite

请问这个SQL命令有什么问题?

"SELECT DISTINCT email_to FROM emails WHERE email_box='SENT' ORDER BY SUM(email_to)"
Run Code Online (Sandbox Code Playgroud)

我有一张桌子"电子邮件".其中两个字段是"email_to"(包含电子邮件收件人地址字符串)和"email_box",如果电子邮件存储在"INBOX","OUTBOX"或"SENT"中,它们会显示.

我现在想得到所有的"email_to",按照他们在桌子上出现的频率排序.

我不知道为什么我会收到"滥用聚合"错误.我还想问一下如何修复它.

小智 6

order by语句中的字段在select语句之后计算.这意味着它只能引用select语句中的字段.尝试:

SELECT email_to, count(*) as total_emails FROM emails WHERE email_box='SENT' group by email_to ORDER BY total_emails
Run Code Online (Sandbox Code Playgroud)

在上面的查询中,order by语句能够使用字段"total_emails"引用出现次数.

  • `Group By`只返回其中一个.`Distinct`是多余的. (3认同)