這是一個令人困惑的SQL問題(至少對我來說)涉及GROUP BY
和AGGREGATES ...會愛上任何幫助。表5中最新5行的聚合函數(SUM)
我在一個網站上記錄騎自行車和騎手的信息。我們有一張桌子,其中包含騎手ID,騎車日期和騎行距離。我想要顯示最新的遊樂設施,距離以及每個車手的總距離。這是我的SQL和輸出(其中id
是騎手ID):
+--------+---------------------+----------+ | id | dated | distance | +--------+---------------------+----------+ | 101240 | 2012-11-30 00:00:00 | 250 | | 101332 | 2012-11-22 00:00:00 | 31 | | 101313 | 2012-11-21 00:00:00 | 15 | | 101319 | 2012-11-21 00:00:00 | 25 | | 101320 | 2012-11-21 00:00:00 | 56 | +--------+---------------------+----------+
這是很容易得到有:
SELECT id, dated, distance FROM rides ORDER BY dated LIMIT 5
似乎我無法弄清楚是獲得車手總累計對於這些最新的遊樂設施...基本上:
SELECT sum(distance) FROM rides GROUP BY id
是否有可能在SQL中處理所有這些而不必執行某些程序化的操作?我試過做一些子查詢和聯接,但無濟於事!
在此先感謝SO社區。
我不明白你的問題。 「基本上:SELECT總和(距離)從遊樂設施GROUP BY ID。」那有什麼問題? –
如果你的意圖是總結距離最近五次運行**每個騎自行車的人**你可能想檢查排名最高的答案[這裏](http://stackoverflow.com/questions/2129693/mysql-using-limit-within -group-通過對獲得正的結果,每個組)。 –
那麼這個sql服務器還是? –