gpt4 book ai didi

mysql - 如何在 SQL 中按数字排序的 select 语句中创建列

转载 作者:行者123 更新时间:2023-11-29 12:47:59 24 4
gpt4 key购买 nike

我想在 SELECT 语句中创建一个列,其中按顺序包含数字,类似于:

Column A| Primary_Key| Column C
1| 1 | AValue
2| 3 | BAValue
3| 2 | CValue

我需要创建此列,因为我的排序顺序将取决于其他参数,但是,我在代码中使用 A 列进行另一种类型的排序。

我当前的 SQL 与此类似:

SELECT * from table1 order by // whatever column I need to order it by.

如何创建列以从 1 开始计数 - 无论最后一个值是什么,而不影响我的查询?

最佳答案

如果我理解您的问题,您希望有一列来计算按[Column C]排序的行。如果是这样,您可以使用:

select ROW_NUMBER() OVER (ORDER BY [Column C]) [Column A],
Primary_key,
[Column C]
from Table1

这个新列Column A可以按您想要的任何列排序(您只需更改代码ORDER BY [Column C])。

不考虑您的情况,可以根据无顺序对行进行计数:

select ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) [Column A],
Primary_key,
[Column C]
from Table1

SQL Fiddle

关于mysql - 如何在 SQL 中按数字排序的 select 语句中创建列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25173633/

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