【发布时间】: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 查询浏览器”中运行它
提前致谢。
【问题讨论】:
这个查询有什么问题?它在 rowno 列中显示 null。
SELECT @rowno:=@rowno+1 `rn`,`id`, `title`, `topic`
FROM stories,(SELECT @rownum:=0) r
WHERE newstype='2';
我在“MySQL 查询浏览器”中运行它
提前致谢。
【问题讨论】:
你有几个问题:
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';
【讨论】:
在增量中您使用rowno,但在初始分配中您使用rownum
【讨论】: