[英]How to Find ALL Most Common Values in SQL?
我將如何顯示SQL中所有最常見的值?
因此,我在下面顯示了查詢以顯示最常見的值。
SELECT name, COUNT(*) AS popularity
FROM cattwo
GROUP BY name
ORDER BY popularity DESC
LIMIT 1;
+----------+------------+
| name | popularity |
+----------+------------+
| cat22610 | 7 |
+----------+------------+
但是,當我顯示前10個最常見的值時,結果是...
SELECT name, COUNT(*) AS popularity
FROM cattwo
GROUP BY name
ORDER BY popularity DESC
LIMIT 10;
+----------+------------+
| name | popularity |
+----------+------------+
| cat22610 | 7 |
| cat68704 | 7 |
| cat14153 | 7 |
| cat52476 | 7 |
| cat4556 | 7 |
| cat64173 | 7 |
| cat5586 | 7 |
| cat89302 | 6 |
| cat97131 | 6 |
| cat42010 | 6 |
+----------+------------+
目標是展示所有流行度最高的貓。 這樣的事情。
+----------+------------+
| name | popularity |
+----------+------------+
| cat22610 | 7 |
| cat68704 | 7 |
| cat14153 | 7 |
| cat52476 | 7 |
| cat4556 | 7 |
| cat64173 | 7 |
| cat5586 | 7 |
+----------+------------+
幫助會很棒。 提前致謝。
SELECT name, COUNT(*) AS popularity
FROM cattwo
GROUP BY name
HAVING COUNT(*) =
(
SELECT COUNT(*) AS popularity
FROM cattwo
GROUP BY name
ORDER BY popularity DESC
LIMIT 1
)
LIMIT 10;
我想這個查詢對您有幫助!
SELECT NAME, COUNT(*) AS POPULARITY
FROM CATTWO
GROUP BY NAME
HAVING COUNT(*) =
(
SELECT COUNT(*) AS MAX_POPULARITY
FROM CATTWO
GROUP BY NAME
ORDER BY MAX_POPULARITY DESC
LIMIT 1
);
select C1.name,COUNT(*) AS popularity FROM cattwo C1 GROUP BY C1.name
HAVING 0=(SELECT COUNT(*) popularity FROM cattwo
C2 GROUP BY C2.NAME HAVING C1.popularity <C2.popularity )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.