id serviceid name cost date
201 15 X 50 25.12.2016
201 15 Y 55 29.11.2016
201 120 Z 50 27.11.2016
201 19 w 50 22 .11.2016
201 158 p 50 23.11.2016
201 18 q 50 21.11.2016
201 16 rs 50 24.11.2016
201 81 rs 50 2.11.2016
202 18 X 50 25.12.2016
202 18 Y 55 29.11.2016
202 15 Z 50 27.11.2016
202 19 w 50 22 .11.2016
203 15 p 50 23.11.2016
203 18 q 50 21.11.2016
203 16 rs 50 24.11.2016
0 81 rs 50 2.11.2016
慾望輸出:如何顯示的每個記錄4每個ID列
id serviceid name cost date
201 15 X 50 25.12.2016
201 15 Y 55 29.11.2016
201 120 Z 50 27.11.2016
201 16 rs 50 24.11.2016
202 18 X 50 25.12.2016
202 18 Y 55 29.11.2016
202 15 Z 50 27.11.2016
202 19 w 50 22 .11.2016
203 15 p 50 23.11.2016
203 18 q 50 21.11.2016
203 16 rs 50 24.11.2016
0 81 rs 50 2.11.2016
我要顯示的每個記錄4 - 每個ID我試圖用自加入申請4記錄服務,但有是問題未來請告訴或建議我如何ac-chive爲此。
SELECT a.*
FROM mytable AS a
WHERE
(SELECT COUNT(*) FROM mytable AS b
WHERE b.id = a.id and b.serviceid >= a.serviceid) <= 4
ORDER BY a.id , a.date
此查詢正在嘗試,但我無法獲取它爲每個ID基於日期應該有4強服務ID。
這將需要模擬MySQL的行號,這是MySQL沒有的。但除此之外,你需要給我們保留每組4條記錄的邏輯。 –
是的,我必須得到每個ID頂級4 serviceid基於頂級日期喜歡我的願望輸出 –
@TimBiegeleisen它不可能在MySQL?你可以請你建議我 –