我有一个包含5个字段的表,总共有400条记录。我添加了一个新的字段,我称之为“订单”,顾名思义,它是在记录中保留订单。
因为我在插入记录后添加了这个,我想知道是否有办法使用rownum通过sql查询来记录当前的记录顺序,或者我是否需要使用PHP脚本来填充此字段插入?
PS:我尝试用谷歌搜索rownum并没有找到任何有用的东西:(
答案 0 :(得分:1)
我认为在SQL中不可能,但您可以使用主键作为初始顺序。毕竟,默认情况下,行仍会根据它进行排序。
UPDATE table SET order = id;
答案 1 :(得分:0)
ROWNUM是Oracle特有的语法。 MySQL没有排名功能 - 你可以得到的最接近的是:
SELECT t.*,
@rownum := @rownum+1 'rownum'
FROM TABLE t, (SELECT @rownum := 0) r
...但是这只会对行进行编号 - 跨越组时不会重置,您必须一次查询一个组。