SQL查询以获取每日最高销售额
我有一张桌子,上面有以下数据 Item_ID Rate Quantity Sale_Day (YYYY-MM-DD) -------------------------------------- P1 4 4 2013-06-02 P1 5 2 2013-06-02 P2 1 8 2013-06-02 P1 6 3 2013-06-03 P2 4 9 2013-06-03 P3 10 10 2013-06-03 商品标识价格数量销售日(YYYY-MM-DD) -------------------------------------- P1 4 2013-06-02 P1 5 2 2013-06-02 P2 1 8 2013-06-02 P1 6 3 2013-06-03 P2 4 9 2013-06-03 P3 10 2013-06-03 我需要的结果如下: Item_ID Total Sale_Day (YYYY-MM-DD) -------------------------------------- P1 26 2013-06-02 P3 100 2013-06-03 商品标识总销售日(YYYY-MM-DD) -------------------------------------- P1 26 2013-06-02 P3100 2013-06-03 任何帮助都将不胜感激。谢谢 试试看SQL查询以获取每日最高销售额,sql,sql-server,group-by,ranking,dense-rank,Sql,Sql Server,Group By,Ranking,Dense Rank,我有一张桌子,上面有以下数据 Item_ID Rate Quantity Sale_Day (YYYY-MM-DD) -------------------------------------- P1 4 4 2013-06-02 P1 5 2 2013-06-02 P2 1 8 2013-06-02 P1 6 3 2013-06-03 P
SELECT Sale_Day, Item_ID, Total
FROM
(
SELECT Sale_Day, Item_ID,
SUM(Rate*Quantity) Total,
RANK() OVER(PARTITION BY Sale_Day ORDER BY SUM(Rate*Quantity) DESC) rank
FROM sale
GROUP BY Sale_Day, Item_ID
) a
WHERE rank = 1
ORDER BY Sale_Day
输出:
| SALE_DAY | ITEM_ID | TOTAL |
-------------------------------------------------
| June, 02 2013 00:00:00+0000 | P1 | 26 |
| June, 03 2013 00:00:00+0000 | P3 | 100 |
这里是演示真棒!非常感谢(彼得)