[英]MYSQL Count and group the results of a count
我想計算每封電子郵件的總訂單量,然后將結果的頻率分組
如果以下查詢
SELECT COUNT(*) as total
FROM orders
GROUP BY email
ORDER BY total DESC
給我
|--TOTAL--|
| 6 |
| 6 |
| 6 |
| 5 |
| 5 |
| 5 |
| 4 |
| 4 |
| 3 |
| 2 |
|---------|
我怎么能得到這個結果
|--TOTAL--|--COUNT--|
| 6 | 3 |
| 5 | 3 |
| 4 | 2 |
| 3 | 1 |
| 2 | 1 |
|-------------------|
我本質上是想數數
干杯
嘗試這個:
SELECT total, COUNT(total) AS frequency
FROM (
SELECT COUNT(*) as total
FROM orders
GROUP BY email
) t
GROUP BY total
ORDER BY total DESC
基本上,您可以通過將原始查詢轉換為子查詢來進行另一種聚合。
您可以將查詢用作子查詢:
SELECT total, COUNT(*)
FROM (
SELECT COUNT(*) as total
FROM orders
GROUP BY email
) t
GROUP BY total
ORDER BY COUNT(*) DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.