我有一个select语句,它返回一列不是"线性" (它们使用sum()和group by计算)。我想在此查询中添加一个附加列,显示它们在结果列表中显示的各自计数。
例如:
Sums
----
450
320
117
583
Count | Sums
----- ----
1 | 450
2 | 320
3 | 117
4 | 583
在不使用临时表的情况下,这是否可以在MySQL中使用?
或者更简单的说,是否可以在select语句中从1开始计数?
类似的东西:
SELECT ITERATE(1-99)
Iterate
-------
1
2
3
.
.
.
99
也许使用完成此操作的存储过程?
答案 0 :(得分:2)
一个选项是:
SELECT
@`rownum` := @`rownum` + 1 `Count`,
`t`.`id`,
SUM(`t`.`qty`) `Sums`
FROM
(SELECT @`rownum` := 0) der, `table` `t`
GROUP BY
`t`.`id`;