gpt4 book ai didi

mysql - 如何对sql中的重复行进行编号

转载 作者:行者123 更新时间:2023-11-29 12:37:09 26 4
gpt4 key购买 nike

我正在尝试找出对重复行进行相应编号的最佳/最简单方法。我有一组数据正在上传到数据库表。我已经上传它,并自动递增它,现在我想以我的问题中显示的方式生成 order_id 。例如

    ----ID-------NAME-----------ORDER_ID----------
1 Bob Smith 1
2 Steve Jones 2
3 Bob Smith 1
4 Billy Guy 3
5 Steve Jones 2
----------------------------------------------

我想我可以使用诸如select NAME from table where name=duplicate_name之类的语句,但我似乎不知道如何实际执行此操作,更不用说输入之后使用适当的 ORDER_ID。有没有简单的方法可以做到这一点?

最佳答案

你可以这样做:

SELECT 
A.ID,
A.NAME,
(SELECT TOP 1 T.ID
FROM table AS T
WHERE T.NAME = A.NAME
ORDER BY T.ID) AS ORDER_ID

FROM table AS A

如果您的数据库引擎不支持 TOP 关键字,但支持 LIMIT 关键字,您可以执行以下操作:

SELECT 
A.ID,
A.NAME,
(SELECT T.ID
FROM table AS T
WHERE T.NAME = A.NAME
ORDER BY T.ID
LIMIT 1) AS ORDER_ID

FROM table AS A

关于mysql - 如何对sql中的重复行进行编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26600464/

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