給定一個這樣的數據集;GROUP BY ID範圍?
+-----+---------------------+--------+
| id | date | result |
+-----+---------------------+--------+
| 121 | 2009-07-11 13:23:24 | -1 |
| 122 | 2009-07-11 13:23:24 | -1 |
| 123 | 2009-07-11 13:23:24 | -1 |
| 124 | 2009-07-11 13:23:24 | -1 |
| 125 | 2009-07-11 13:23:24 | -1 |
| 126 | 2009-07-11 13:23:24 | -1 |
| 127 | 2009-07-11 13:23:24 | -1 |
| 128 | 2009-07-11 13:23:24 | -1 |
| 129 | 2009-07-11 13:23:24 | -1 |
| 130 | 2009-07-11 13:23:24 | -1 |
| 131 | 2009-07-11 13:23:24 | -1 |
| 132 | 2009-07-11 13:23:24 | -1 |
| 133 | 2009-07-11 13:23:24 | -1 |
| 134 | 2009-07-11 13:23:24 | -1 |
| 135 | 2009-07-11 13:23:24 | -1 |
| 136 | 2009-07-11 13:23:24 | -1 |
| 137 | 2009-07-11 13:23:24 | -1 |
| 138 | 2009-07-11 13:23:24 | 1 |
| 139 | 2009-07-11 13:23:24 | 0 |
| 140 | 2009-07-11 13:23:24 | -1 |
+-----+---------------------+--------+
我該如何去關於第5天記錄的分組結果。上述結果是實時數據的一部分,表中有超過10萬個結果行,並且它在不斷增長。基本上我想測量隨着時間的變化,所以想要每個X記錄取得結果的總和。在真實數據中,我會做到100或1000,但對於上面的數據可能每5個。
如果我可以按日期排序,我會做這樣的事情;
SELECT
DATE_FORMAT(date, '%h%i') ym,
COUNT(result) 'Total Games',
SUM(result) as 'Score'
FROM nn_log
GROUP BY ym;
我無法弄清楚用數字做類似的事情。訂單按日期排序,但我希望將每個x結果的數據分開。假設沒有空白行是安全的。
用你可以做的多個數據做以上操作選擇like;
SELECT SUM(result) FROM table LIMIT 0,5;
SELECT SUM(result) FROM table LIMIT 5,5;
SELECT SUM(result) FROM table LIMIT 10,5;
這顯然不是一個很好的方法來擴大到一個更大的問題。我可以只寫一個循環,但我想減少查詢的數量。
非常感謝。 有趣的是,這樣做給了我第一個只有999 ...但我可以忍受。 的mysql> SELECT - >地板(ID/1000)YM, - > COUNT(結果) '總遊戲', - > SUM(結果)爲 '分數' - >從nn_log - > GROUP BY YM ; + ------ + ------------- + ------- + | ym |總遊戲|分數| + ------ + ------------- + ------- + | 0 | 999 | -879 | | 1 | 1000 | -889 | | 2 | 1000 | -920 | | 3 | 1000 | -903 | .... – 2009-07-11 15:13:49