簡體   English   中英

MYSQL:如何選擇列中出現的最高值?

[英]MYSQL: How to SELECT the highest occurance from a column?

我有一個帶有電影列表的mysql表。 我想用php在網頁上顯示票數或出現次數最多的電影。我怎么能這樣做?

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
SELECT title, count(*) as count
FROM films
GROUP BY title
ORDER BY count DESC
LIMIT 1

這將計算每個標題的行數,並僅返回最高標題。 如果您希望按照最大標題數排序返回所有標題,請刪除限制。

此查詢將返回如下內容:

+-------------+-------+
| title       | count |
+-------------+-------+
| Toy Story 3 |     3 |
+-------------+-------+
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);

這個將返回所有碰巧分享最大數量的電影。

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

這個將返回所有碰巧分享最大數量的電影

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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