2017-04-10 42 views
0

我一直無法返回成功返回最大值的所有關係的查詢。最大值來自內部查詢。我的SQL如下:SQLite Handle Max()關係

SELECT NAME, 
     Max(y.val) 
FROM (SELECT NAME, 
       Count(*) AS val 
     FROM numbers N 
     JOIN cards C 
      ON C.mid = N.mid 
     GROUP BY NAME) AS y 

目前它只是返回一個單一的最大值,但我需要它返回所有如果有一條領帶。任何人都可以用這個使用sqlite來幫助我嗎?

+0

顯示我們的DB模式,樣本數據和預期的輸出。 \t請閱讀[**如何提問**](http://stackoverflow.com/help/how-to-ask) \t \t這裏是一個偉大的地方[** START **] (http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)來了解如何提高您的問題質量並獲得更好的答案。 –

回答

2

在這裏的想法是隔離y然後將其重新使用既找到最大計數,然後用相同的計數相匹配的所有行:

WITH y as (SELECT name, COUNT(*) as val 
      FROM Numbers N 
      JOIN Cards C on C.mid = N.mid 
      GROUP BY name) 
SELECT name, val 
FROM y 
WHERE (SELECT MAX(val) from y)=val; 
+0

作品!比你! – SJR59