根据 SQL 中的其他字段将值从 1 开始递增
Increment value from 1 to onward based on other field in SQL
id
result
KLLR
1
KLLR
2
KLLR
3
KLLR
4
OLRQ
1
OLRQ
2
PKRD
1
PKRD
2
PKRD
3
SQL根据其他字段从1开始递增,输出的计算字段就是结果。请查看图片以获得更清晰的信息。下面是我试过的 SQL。我想要另一个计算字段中的结果,如图所示。
SELECT id, SUM(COUNT(id)) AS result
FROM t1
GROUP BY id
一个简单的行号应该适合你:
SELECT id,
ROW_NUMBER() OVER (PARTITION BY id ORDER BY id) AS Result
FROM t1;
您标记了 MySQL 和 SQL 服务器。请注意,它们是完全不同的产品,但同样适用于两者。 MySQL 在 8.0 中引入了 ROW_NUMBER()
。
对HansG的评论,
SELECT id,
ROW_NUMBER() OVER (PARTITION BY id ORDER BY (SELECT NULL)) AS Result
FROM t1;
会给你提到的随机顺序。
id | result |
---|---|
KLLR | 1 |
KLLR | 2 |
KLLR | 3 |
KLLR | 4 |
OLRQ | 1 |
OLRQ | 2 |
PKRD | 1 |
PKRD | 2 |
PKRD | 3 |
SQL根据其他字段从1开始递增,输出的计算字段就是结果。请查看图片以获得更清晰的信息。下面是我试过的 SQL。我想要另一个计算字段中的结果,如图所示。
SELECT id, SUM(COUNT(id)) AS result
FROM t1
GROUP BY id
一个简单的行号应该适合你:
SELECT id,
ROW_NUMBER() OVER (PARTITION BY id ORDER BY id) AS Result
FROM t1;
您标记了 MySQL 和 SQL 服务器。请注意,它们是完全不同的产品,但同样适用于两者。 MySQL 在 8.0 中引入了 ROW_NUMBER()
。
对HansG的评论,
SELECT id,
ROW_NUMBER() OVER (PARTITION BY id ORDER BY (SELECT NULL)) AS Result
FROM t1;
会给你提到的随机顺序。