mysql - mysql中重复记录的编号

标签 mysql sql

我有 Student 表,我想像这样更新 (sequence_No.) 字段:

ID        Name      age     sequence_No.
--        -----     ---     ------------

1         sara      20         1

2         sara      20         2

3         sara      20         3

4         john      24         1

5         john      24         2

6         Hama      23         1

在 mysql 中哪个查询可以做到这一点?

谢谢你:)

最佳答案

SELECT 
ID,
Name,
age,
( 
CASE Name 
WHEN @curType 
THEN @curRow := @curRow + 1 
ELSE @curRow := 1 AND @curType := Name END
) + 1 AS sequence_No

FROM student, (SELECT @curRow := 0, @curType := '') r
ORDER BY  ID,NAME;

SQL FIDDLE

关于mysql - mysql中重复记录的编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17521581/

相关文章:

mysql - 加快我的 mysql 语句

php - 查找预订交叉日期(入住、退房)或每个房间 ID 的相同日期

mysql - SQL查询中的平均时间戳

java - Docker compose mysql 容器在依赖它的应用程序之后运行

MySql查询-返回过去12个月内不存在的数据

sql - 决赛 table 的合并相当于什么?

c# - NHibernate 树结构更新根问题

sql - 扑克和使用 SQL 事务处理彩池中的钱以保持一致性

sql - 将订单量四舍五入至限制总数

sql - 如何识别引用特定表的所有存储过程