mysql - 按特定列的数据自动递增

标签 mysql database

在如下表中,

category | feeds | content
==========================
1          1       something
1          2       bar
1          3       foo
2          1       blah
2          2       um
1          4       things

我应该如何独立工作auto_increment(按“类别”区分)?

提前致谢。

最佳答案

对于 Oracle 来说,我们有 ROW_NUMBER() OVER PARTITION BY 语句,但对于 Mysql 来说,实现这个语句仍然很棘手。我们很可能会使用此实现来限制数据按组之间的降序/升序排列。

这里有类似的实现供您引用:

SELECT @row_number:=CASE WHEN @category=category 
THEN @row_number+1 ELSE 1 END AS feeds,@category:=category AS category, content
FROM table1, (SELECT @row_number:=0,@category:='') AS t
ORDER BY category;

SQLFiddle Link

关于mysql - 按特定列的数据自动递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26272553/

相关文章:

mysql - 在不同的 AWS 区域设置多主 MySQL 集群

mysql - 如何根据其他列值保留一列的值?

java - 启动更新检查程序线程,检查数据库中的新条目

database - 邮箱结构

mysql - 无法将零插入 MySQL INT NULL

ios - 未定义不是对象(评估 RNRandomBytes.seed)

php - 使用带有 Angular JS 的 mySQL 数据库的用户登录系统?

mysql - 如何使用 Ruby on Rails 将 MySQL 纬度/经度数据转换为 JSON

mysql - 获取 : java. sql.SQLException:未知系统变量 'language' spring boot

php - SQL语法错误