我試圖在SQL中使用COUNT()OVER(ORDER BY)
來創建下面的COUNT
列。在這裏,COUNT會爲您提供從購買日期直到活動日期相等或超過當前行價格的門票數量。在這種情況下,通風口發生在1/15/13
。例如,從12/3/2012 to 1/15/13
我們售價爲420美元或以上的5張門票。另一個例子f,從12/25/12 to 1/15/13
我們售出6張或以上的門票。COUNTIFS由多個SQL中的條件多於
在Excel中,公式將爲=+COUNTIFS([Price],">="&[@Price],[Date],">="&[@Date])
。這是COUNT
列的計算方式。
在SQL中,我得到的最遠位於下方,結果位於SQL_COUNT列中。正如你可以看到它不起作用。
SELECT DATE, PRICE,
COUNT(PRICE) OVER (order by PRICE desc)
FROM O.ELEMENTS ELEMENTS
WHERE (DATE={ts '2013-01-15 00:00:00'})
ORDER BY PRICE DESC
PRICE DATE COUNT SQL_COUNT
700 1/8/2013 2 2
700 1/10/2013 1 2
440 1/9/2013 2 3
420 12/3/2012 5 5
420 12/18/2012 4 5
400 12/11/2012 5 6
390 12/3/2012 7 7
370 8/29/2012 11 11
370 11/29/2012 10 11
370 11/29/2012 10 11
370 12/17/2012 5 11
360 10/18/2012 11 12
350 1/5/2013 5 14
350 1/9/2013 3 14
340 6/23/2012 20 20
您使用的是什麼RDBMS?什麼版本? – GarethD
數據不完整。您的計數爲20,但只有15個數據行。 –
沒錯,這只是總行數的一個樣本。 – dataowl