我有一個電影列表的MySQL表。我想使用php在網頁上顯示具有最高票數或出現次數的電影。如何才能做到這一點?MYSQL:如何從列中選擇最高的發生?
title
Toy Story 3
Toy Story 3
Toy Story 3
Inception
Inception
例如:應顯示將是玩具總動員3
我有一個電影列表的MySQL表。我想使用php在網頁上顯示具有最高票數或出現次數的電影。如何才能做到這一點?MYSQL:如何從列中選擇最高的發生?
title
Toy Story 3
Toy Story 3
Toy Story 3
Inception
Inception
例如:應顯示將是玩具總動員3
select title, count(*) as cnt from films group by title order by cnt desc limit 1
在末尾添加「限制1」即可獲得一部電影。 – 2011-01-12 19:43:28
良好的捕捉 - 添加 – Joshua 2011-01-12 19:47:07
SELECT title, count(*) as count
FROM films
GROUP BY title
ORDER BY count DESC
LIMIT 1
這將計算行的每個標題的數量,只返回最高頭銜的價值。如果您希望返回的所有標題按最大標題數排序,請刪除限制。
這個查詢將返回類似:
+-------------+-------+
| title | count |
+-------------+-------+
| Toy Story 3 | 3 |
+-------------+-------+
select f.title, f.cnt as count
from
(select title, count(*) as cnt
from films f
group by title) f
, (select max(count(*)) mcnt
FROM films
GROUP BY title) f2
where f.cnt = f2.mcnt
這一項將返回發生共享最大計數
SELECT title,COUNT(title) AS cnt
FROM Film
GROUP BY title
HAVING cnt=(SELECT COUNT(title) as count
FROM Film
GROUP BY title
ORDER BY count desc limit 1);
這一次將返回所有影片的所有電影是恰好分享最大數量。
@Konerak:對,我錯過了,謝謝。 – 2011-01-12 19:49:26