我有一個表有兩列team
和date
。 date
列具有條目添加到表的日期。排序查看最新條目的數據組
我想打印按date DESC
排序的每個團隊的最後10個條目。 我也想按date DESC
排序這些組的條目。
我嘗試了很多東西,但沒有運氣。它有效,但有2個查詢在這種情況下是不可接受的。
我怎樣才能做到這一點與單個查詢?我覺得這是一個非常新鮮的問題。
我有一個表有兩列team
和date
。 date
列具有條目添加到表的日期。排序查看最新條目的數據組
我想打印按date DESC
排序的每個團隊的最後10個條目。 我也想按date DESC
排序這些組的條目。
我嘗試了很多東西,但沒有運氣。它有效,但有2個查詢在這種情況下是不可接受的。
我怎樣才能做到這一點與單個查詢?我覺得這是一個非常新鮮的問題。
SELECT rows.team, rows.date FROM (
SELECT team, date,
IF(@prev <> team, @rownum := 1, @rownum := @rownum+1) AS rownum,
@prev := team
FROM my_table
JOIN (SELECT @rownum := NULL, @prev := 0) AS init
ORDER BY team, date DESC
) AS rows
WHERE rownum <= 10
我們做的子查詢的臨時(虛擬)表與團隊,日期降序排序行,我們從上給人一種遞增行號的每一行開始,每當球隊的變化,我們重新排號碼,然後在外部查詢中,我們篩選出任何行號大於10的行。
我現在正在獲取哪些數據以及您確切需要什麼。 PLZ更新你的問題 – diEcho