2015-07-22 75 views
0

我想在sql問題上做一些練習問題,因爲我意識到我在爲它們奮鬥。SQL查找最大類別

我一直在玩我的樣本數據庫,我試圖列出餐廳名稱,檢查日期和總分數,但只顯示每家餐廳檢查的最近日期。

餐廳有一個擺脫檢查和名稱的外鍵。檢查有一個擺脫,idate(檢查日期)和檢查totalscore。

我如何得到最近的檢查分數和檢查日期的餐館列表?

SELECT i.idate, r.name, i.totalscore 
FROM restaurant r 
JOIN inspection i 
ON r.rid = i.rid where 
i.idate = (SELECT i1.idate 
        FROM restaurant r1 
        JOIN inspection i1 
        ON r1.rid = i1.rid 
      order by idate desc limit 1 
       ); 

謝謝!

+0

集團當我嘗試這樣做,編譯器說,我不能組,因爲該列不函數依賴? – ArtisticPhoenix

回答

0
按日期
+0

由餐廳爲了要容易得多那麼

SELECT i.idate, r.name, i.totalscore FROM restaurant r JOIN inspection i ON r.rid = i.rid where 1 GROUP BY r.name ORDER BY i.idate desc 
Akshay

+0

https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html – ArtisticPhoenix

+0

你可以嘗試MAX(i.idate)而不是順序,很難做到頭部沒有一個數據庫設置來測試它。 – ArtisticPhoenix