You request is strange for what you want to do... You should just do :
SELECT I.name, SUM(I.amount)
FROM item I
WHERE 1
GROUP BY I.name
ORDER BY I.name ASC ;
If you want to have n
:
SET @num=0;
SELECT @num:=@num+1 AS n, I.name AS name, SUM(I.amount) AS sum
FROM item I
WHERE 1
GROUP BY I.name
ORDER BY I.name ASC ;
If you want to order name
AND n
, you have to do 2 selects :
SET @num=0;
SELECT @num:=@num+1 AS n, I.name AS name, I.sum AS sum
FROM (SELECT I.name AS name, SUM(I.amount) AS sum
FROM item I
WHERE 1
GROUP BY I.name
ORDER BY I.name ASC) AS I
WHERE 1 ;