所以我有一個表格,裏面有一個積分系統。它看起來是沿着這條線:mysql - 只能得到與同一表中差異的結果
列:
ID Name Date Points
1 Peter 2014-07-15 5
2 John 2014-07-15 6
3 Bill 2014-07-15 3
等等...
每天,新成果正在然而放到桌子點的acumulated總量,爲了能夠獲得歷史價值,結果被放入新的行中。所以,在2014年7月16日,該表將是這樣的:
ID Name Date Points
1 Peter 2014-07-15 5
2 John 2014-07-15 6
3 Bill 2014-07-15 3
4 Peter 2014-07-16 11
5 John 2014-07-16 12
6 Bill 2014-07-16 3
但是有時當玩家不參與了整整一天,並沒有得到任何積分,他仍然會被添加,但積分將保持不變(這裏顯示Bill的情況)。
我的問題是如何計算每種類型的玩家數量(活動 - 彼得,約翰即當分值的變化從一個日期到另一個不活動的比爾 - 即當點值保持不變)。
我已經設法讓這個查詢只選擇具有相同價值的玩家,但它給了我的球員名單而不是數量。雖然我可能potentialy是錯的這個查詢:
SELECT Points, name, COUNT(*)
FROM points
WHERE DATE(Date) = '2014-07-15' OR DATE(Date) = '2014-07-16'
GROUP BY Points
HAVING COUNT(*)>1
我不知道如何計算行數(可以做PHP獲得的行數的旁路伎倆,但感興趣的SQL只),或如何反轉它,以獲得具有不同得分的玩家的數量(再次,可以獲得總計行數,然後減去上述數字,但對此不感興趣 - 我更喜歡SQL)。
感謝您的提前。
非常感謝您的答覆。我必須說,有關Date函數的其他信息在性能方面非常有用。 – Adimo