以下の列COUNT()OVER(ORDER BY)
を作成するためにSQLで使用しようとしています。COUNT
ここで、COUNT は、購入日からイベント日までに現在の行の価格以上に販売されたチケットの数を示します。この場合、ベントは で発生しました1/15/13
。たとえば、12/3/2012 to 1/15/13
420 ドル以上で 5 枚のチケットを販売したとします。もう 1 つの例は、12/25/12 to 1/15/13
6 枚以上のチケットを販売した場合です。
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