簡體   English   中英

使用MAX和COUNT的SQL

[英]SQL using MAX and COUNT

我需要選擇所有具有最大行數的東西。

我正在使用這個:

SELECT TMP.S, MAX(TMP.my_count)
FROM (
  SELECT T1.something S, COUNT(*) my_count
  FROM table T1, table2 T2
  WHERE T1.value = T2.value
  GROUP BY T1.something) TMP
GROUP BY TMP.S

但是,最終得到的結果與此相同:

SELECT T1.something, COUNT(*) my_count
FROM table T1, table2 T2
WHERE T1.value = T2.value
GROUP BY T1.something

我可以使用ROWNUM = 1 ORDER BY my_count DESC ,但這不能解決我的問題,因為如果它們具有相同的值,則需要選擇所有最大值。

在您的Where條件下使用Max

SELECT TMP.S, TMP.my_count
FROM (
      SELECT T1.something S, COUNT(*) my_count
      FROM table T1, table2 T2
      WHERE T1.value = T2.value
      GROUP BY T1.something 
      ) TMP
Where 
TMP.my_count = (select max(count(*)) from table1 T3 group by t3.something)

暫無
暫無

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

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