簡體   English   中英

查找具有最大計數的行

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

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