gpt4 book ai didi

mysql - 组合行号和不同的

转载 作者:行者123 更新时间:2023-11-29 07:56:49 25 4
gpt4 key购买 nike

在 MySQL 中,我想输出表中某一列的不同值,以及从 0 到行数 - 1 的唯一行号。因此我想使用以下查询。

SET @rownr=0;

SELECT @rownr:= @rownr+1 as rank, DISTINCT a.brand_id AS brand
FROM vda.articles a

MySQL Workbench 提示语法不正确:它不希望该位置有 DISTINCT。事实上,如果我删除关键字 DISTINCT,查询就会运行。有没有办法输出如下所示的表格?注意:我不能使用 GROUP BY 代替 DISTINCT,因为这样变量 rownr 更新得太频繁。

rownr   brand
0 6
1 71
2 72
3 34

最佳答案

只需检查下面的代码即可。它应该可以解决问题。虽然我不太熟悉 mysql 语法。你可以通过这个得到一个想法。

我基本上在sub-query中获得了所有不同的品牌。 。并在外部查询中使用增量行号显示它。

SET @rownr=0;
SELECT @rownr:= @rownr+1 as rank, brand from
( select DISTINCT a.brand_id AS brand
FROM vda.articles a ) as B

也尝试一下这个查询。它也可以工作,并且按照 syntax of DISTINCT 是正确的。 。但请检查是否获得正确的输出。我只是将 DISTINCT 关键字放在 select 关键字之后。

SELECT DISTINCT  @rownr:= @rownr+1 as rank,  
a.brand_id AS brand FROM vda.articles a

关于mysql - 组合行号和不同的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24930652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com