У меня есть база данных магазина со следующими таблицами:
1 - поставщик ( ProviderID , имя, страна)
2 - продукт ( ProductID , ProviderID, ProductPrice)
3 - Команда ( CommandID, ProductID , ProductQuantity, CommandDate)
Я сделал запрос, который подсчитывает прирост по году
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
Это вывод:
![enter image description here](https://i.stack.imgur.com/cD3se.png)
Теперь я хочу отобразить номер строки так же, как Oracle, поэтому я использовал этот запрос:
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
Но я не получаю то, что хочу
![enter image description here](https://i.stack.imgur.com/hP91d.png)
Кажется, порядок влияет на номер строки.Я хочу, чтобы это началось с 1. Заказ по счетчику не вариант, потому что мне нужно заказывать по годам.
Вот как я хочу:
1 2014 1863
2 2015 889
3 2016 2626
...