我有一个存储数据库,其中包含以下表:
1供应商
普罗维特里德
名称、国家)
2产品
产品目录
,providerid,产品价格)
3命令
命令ID,产品ID
,产品数量,命令日期)
我提出了一个按年计算收益的问题
SELECT EXTRACT(YEAR FROM COMMAND_DATE) AS year,
SUM(PRODUCT_PRICE*PRODUCT_QUANTITY) AS gain
FROM PRODUCT JOIN COMMAND ON PRODUCT.PRODUCT_ID=COMMAND.PRODUCT_ID
GROUP BY year
ORDER BY year
这是输出:
现在我想像Oracle一样显示rowid,所以我使用了这个查询:
SET @currentRow = 0;
SELECT @currentRow := @currentRow + 1 AS counter,
EXTRACT(YEAR FROM COMMAND_DATE) AS year,
SUM(PRODUCT_PRICE*PRODUCT_QUANTITY) AS gain
FROM PRODUCT JOIN COMMAND ON PRODUCT.PRODUCT_ID=COMMAND.PRODUCT_ID
GROUP BY year
ORDER BY year
但我没有得到我想要的
似乎订单在某种程度上改变了柜台。我想从1开始。按计数器排序不是一个选项,因为我需要按年份排序。
这就是我想要的:
1 2014 1863
2 2015 889
3 2016 2626
...