sql - 行号仅用于按 id 匹配行?

标签 sql db2 ibm-midrange

我的表结构如下

Category EmpName
   1      Harry
   1      John
   1      Ford 
   2      James
   2      Mark  
   2      Shane 
   3      Oliver 
   3       Ted

我想要这样的结果

Category EmpName RowNumber
   1      Harry      1
   1      John       2 
   1      Ford       3
   2      James      1
   2      Mark       2
   2      Shane      3
   3      Oliver     1
   3      Ted        2

我使用的是 db2,row_number() 不适用于不同的记录组。

最佳答案

我从未使用过 DB2,但根据我的谷歌搜索,看起来 row_number() 函数确实支持分区子句。

试试这个:

select category, empname, row_number() over(partition by category)

关于sql - 行号仅用于按 id 匹配行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4710684/

相关文章:

php - 检查多行 - PHP 和 MySQL

java - 加载数据时忽略 DB2 导入命令中 DAT 文件中的行尾字符

sql - 更好地执行 SQL 代码以将数据提取到文件?

sql - 删除同一个表上从 select 查询中选择的记录

sql - 当数据库表中的字段与 DB2 中的 SQL 关键字相同时,从数据库表中选择字段时出现问题

ibm-midrange - 使用一行设置 %nullind rpg

java - 分离字符生成从 IBM i 系列 (AS400) 转换为 Java 文本文件

java - java属性文件中的属性键

mysql - 检查重复记录的最佳方法

sql - 如何在 DB2 中创建一个返回序列值的函数?