我有一個定期測量的SQL表。我希望能夠在值列上返回一些彙總方法(比如說SUM),一次可以返回任意數量的行。所以,如果我有通過任意數量的行對SQL查詢進行分區
id | reading
1 10
5 14
7 10
11 12
13 18
14 16
我可以一次總結超過2行,得到(24,22,34),我也可以在同一時間總結3行獲得(34,46),如果使感。請注意,ID可能不是連續的 - 我只是想按行計數操作,按照排序順序。
在現實世界中,標識符是一個時間戳,但我認爲(可能在應用unix_timestamp()
調用後)任何適用於上述簡單情況的東西都應該適用。如果它很重要,我會優雅地縮放爲情節查詢返回的結果數量 - 也許有更聰明的方法來做到這一點?我希望解決方案是一般的,而不是在數據上強加特定的存儲機制/模式。
,這將是與用戶定義的聚合函數的窗口函數。 – Randy
也檢查'ntile' – Randy
不知道我跟着 - 你按列分組,而不是行。如果你想要任意數量的行,肯定會成爲'WHERE'(或'HAVING')子句中的一個參數? – Widor