mysql - 如何在mysql中获取行id

标签 mysql sql

我想获取不同idfeedback的行id

SELECT  l.idfeedback_store,
    @curRow := @curRow + 1 AS row_number
FROM    feedback_store l
JOIN    (SELECT @curRow := 0) r;

结果

idfeedback_store        row_number
1                           1
1                           2
1                           3
2                           4
2                           5
2                           6
2                           7
3                           8
3                           9
3                          10
4                          11

所需结果

idfeedback_store        row_number
1                           1
1                           2
1                           3
2                           1
2                           2
2                           3
2                           4
3                           1
3                           2
3                           3
4                           1

最佳答案

试试这个:

SELECT  l.idfeedback_store, IF(@last=(@last:=idfeedback_store), @curRow := @curRow + 1, @curRow:=1) AS row_number
FROM feedback_store l, (SELECT @curRow := 0, @last:=0) r;

关于mysql - 如何在mysql中获取行id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13990596/

相关文章:

mysql - 在 SQL 中组合非唯一值

mysql - 在 DISTINCT 条件中选择 DISTINCT 列

mysql - docker pentaho mysql驱动问题

php - 卡在错误中:警告:mysql_fetch_array()期望参数1为资源, boolean 值

mysql - 这可以通过 JOIN 语句完成吗?

mysql - 如何根据某些条件将结果分组为串联结果

php - 用来自 mysql 的数据填充 HTML 表格给出空表格单元格

mysql - 如何从多列主键中选择一系列行?

php - 选择在日期范围内登录的 MySql 行,返回每天的小时数

c# - 在没有数据库上下文的情况下将 LINQ 表达式转换为 SQL 文本