sql - SQL 中按 row_number 排序

标签 sql sql-server

我想根据特定其他字段的行数在sql中分配ROW_NUMBER()。如果我选择(按 that_field 排序),那么它只会重新组织该字段相对于行号的顺序。

示例:

我不想要什么

A1 \ 1...
A1 \ 2...
A1 \ 3...
A1 \ 4...
A2 \ 5...
A2 \ 6...
A2 \ 7...
A3 \ 8...

我想要什么

A1 \ 1...
A1 \ 2...
A1 \ 3...
A1 \ 4...
A2 \ 1...
A2 \ 2...
A2 \ 3...
A3 \ 1...

本质上,我希望每次字段值更改时行号都会重新启动。 非常感谢任何帮助,谢谢。

最佳答案

您想要分区:

select row_number() over (partition by col1 order by col2)

关于sql - SQL 中按 row_number 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39678759/

相关文章:

php - Eloquent 模型默认添加额外的列

sql - 在 AWS Athena/Presto 中的 unnest 和 array_agg 之后保留数组元素的顺序

mysql - phpmyadmin - 如何设置依赖于外键的字段值?

sql-server - 区分 1 :M association Vs 1:M composition in SQL

sql-server - SQL Server WHERE 子句中的与号 (&) 运算符

sql-server - 如何在 SQL 中创建临时表以在多个 ADF 事件中使用?

sql - 我该如何编写这个 MySQL 查询来获取正确的信息? (子查询,多个子查询)

php - 使用一个 sql 查询的结果来获取另一个 sql 查询的结果 - moveNext 放在哪里

sql - sqlite根据列条件创建新行

sql-server - SSIS重命名文件,文件扩展名出现在正确的位置