首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想得到sql数据库中值的第一次、第二次和第n次?

我想得到sql数据库中值的第一次、第二次和第n次?
EN

Database Administration用户
提问于 2019-03-03 09:53:50
回答 1查看 32关注 0票数 0

我想为每一行中的属性计数属性值出现的位置:

代码语言:javascript
复制
id  | attribute      |Occurence

1  | ICT              1   |the first time of ICT
2  | ENGINEERING      1   |the first time of ENGINEERING      
3  | ICT              2   |the second time of ICT
4  | ENGINEERING      2   |the second time of  ENGINEERING          
5  | ENGINEERING      3   |the Third time of  ENGINEERING 
EN

回答 1

Database Administration用户

发布于 2019-03-03 10:08:53

您可以使用ROW_NUMBER对其进行计数。这里将更详细地介绍这一点。

代码语言:javascript
复制
CREATE TABLE Table1
    ([id] int, [attribute] varchar(11))
;

INSERT INTO Table1
    ([id], [attribute])
VALUES
    (1, 'ICT'),
    (2, 'ENGINEERING'),
    (3, 'ICT'),
    (4, 'ENGINEERING'),
    (5, 'ENGINEERING')
;


SELECT
  id,attribute
  ,ROW_NUMBER()OVER(PARTITION BY Attribute ORDER BY id) as Occurence
FROM
  Table1
ORDER BY id;

产出:

代码语言:javascript
复制
id  attribute   Occurence
1   ICT         1
2   ENGINEERING 1
3   ICT         2
4   ENGINEERING 2
5   ENGINEERING 3

dbfiddle 这里

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/231163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档