mysql中排序后根据排序的内容显示序号,需要在子查询中select @rownum:=0,只有外层的@rownum并不会起作用。
select a.num, a.content, t.tagname, @rownum:=@rownum+1 as sortorder from
(select count(*) as num, content, @rownum:=0
from action
where actiontype='tag'group by content)a
left join tag t on a.content=t.tagid
order by a.num desc limit 10;
在没有子查询的情况下,可以在外面包一层查询。
SELECT n.*, @rownum:=@rownum+1 as sortorder
from
(SELECT COUNT(*) as num, vendor
FROM device
WHERE LENGTH(vendor)>0
GROUP BY vendor ORDER BY num DESC LIMIT 10) n,
(SELECT @rownum := 0) r