[英]Find the row with Maximum Count
我需要找到最大數量的行。 只有一張桌子,所以應該很容易,但事實並非如此。 下表內容:
+------+------+------+
| row1 | row2 | row3 |
+------+------+------+
| 3 | 2 | 1 |
| 6 | 4 | 5 |
| 6 | 2 | 1 |
+------+------+------+
我需要找到最大計數為項目ROW1:使用:SELECT COUNT(*)為C,ROW1 AS名借鑒GROUP BY的名字; 給我結果:
+------+------+
| c | name |
+------+------+
| 1 | 3 |
| 2 | 6 |
+------+------+
但是,我想最大的“C”,只顯示一行:
+------+------+
| c | name |
+------+------+
| 2 | 6 |
+------+------+
使用:SELECT MAX(C),姓名(SELECT COUNT(*)為C,ROW1 AS名借鑒GROUP BY名)AS計數;
給我結果:
+------+------+
| c | name |
+------+------+
| 2 | 3 |
+------+------+
這意味着它給出最大計數(c),但在名稱行中給出第一個數字。
有辦法解決嗎?
我認為這是您想要的,但是您的要求尚不清楚。 如果這是任何其他平台,則可以使用窗口功能會更好。
SELECT *
FROM (
SELECT COUNT(*) AS c, row1
FROM draw
GROUP BY row1
) as Sub1
WHERE Sub.c = (
SELECT Max(c)
FROM (
SELECT COUNT(*) AS c
FROM draw
GROUP BY row1
) as Sub2
) as Sub3
select top 1 row1, count(*)
from draw
group by row1
order by count(*) desc
按照降序排列(即最高計數優先)並僅取第一個。
你可以試試這個
SELECT COUNT( `row1` ) AS c, `row1`
FROM `draw`
GROUP BY `row1`
ORDER BY `row1` DESC
LIMIT 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.