在选择查询中显示行号

Posted

技术标签:

【中文标题】在选择查询中显示行号【英文标题】:show row number in select query 【发布时间】:2011-01-01 09:46:04 【问题描述】:

这个查询有什么问题?它在 rowno 列中显示 null。

SELECT @rowno:=@rowno+1 `rn`,`id`, `title`, `topic` 
FROM stories,(SELECT @rownum:=0) r 
WHERE newstype='2';

我在“mysql 查询浏览器”中运行它

提前致谢。

【问题讨论】:

What is the best way to generate ranks in MYSQL?的可能重复 【参考方案1】:

你有几个问题:

您需要通过在查询前添加set @rowno = 0 来初始化@rowno。 您在@rowno:=@rowno+1 rn 中缺少as(SELECT @rownum:=0) r 是多余的,除非您打算将其作为 @rowno 的初始化,在这种情况下您拼错了。

这应该可行:

SET @rowno = 0;
SELECT @rowno:=@rowno+1 as `rn`, `id`, `title`, `topic` 
FROM stories 
WHERE newstype='2';

【讨论】:

如果记录按其他字段排序,则此解决方案不起作用【参考方案2】:

在增量中您使用rowno,但在初始分配中您使用rownum

【讨论】:

以上是关于在选择查询中显示行号的主要内容,如果未能解决你的问题,请参考以下文章

在 MYSQL 查询中显示行号

在SSMS查询分析器中显示行号

Mysql编辑工具中使用(Navicat查询结果显示行号)

请教在QTableView怎么才能不显示行号和列头

Markdown 中的语法高亮显示,但选择了行号

将行动态添加到TableLayoutPanel会在不同的行号(位置)上显示