簡體   English   中英

MYSQL計數並將計數結果分組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM