【发布时间】:2021-11-05 10:37:34
【问题描述】:
我想生成一个 row_number 函数,就像我们从 SQL 服务器获得的那样,但直接通过 MySQL。
我有以下,但它不起作用。我不确定应该在哪里设置 row_number=0:
SET @rownum:=0;
select i.name, sum(quantity) Qtd, @rownum := @rownum + 1 AS rank
from orders o join order_items i on o.id = i.order_id
where i.product_id not in ("wpp001", "147426")
group by 1
order by 5 desc
limit 10
我有一张这样的桌子:
name | Qtd
A | 2
A | 3
B | 1
C | 6
预期的结果:
name | Qtd | rownum
C | 6 | 1
A | 5 | 2
B | 1 | 3
编辑:更正了集合名称变量和所需的表+输出
【问题讨论】:
-
请描述“它不起作用”是什么意思。它会给出错误的结果吗?如果是这样,它返回什么结果?它会返回错误吗?如果是这样,确切的错误是什么?