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;