MySQL按順序獲得行位置使用以下MySQL表:+-----------------------------++ id INT UNSIGNED ++ name VARCHAR(100) ++-----------------------------+如何選擇單株行及其在表中其他行中的位置(按name ASC..因此,如果表數(shù)據(jù)如下所示,則按名稱排序時(shí):+-----------------------------++ id | name ++-----------------------------++ 5 | Alpha ++ 7 | Beta ++ 3 | Delta ++ ..... ++ 1 | Zed ++-----------------------------+如何選擇Beta得到該行當(dāng)前位置的行?我正在尋找的結(jié)果集如下所示:+-----------------------------++ id | position | name ++-----------------------------++ 7 | 2 | Beta ++-----------------------------+我可以做一個(gè)簡單的SELECT * FROM tbl ORDER BY name ASC然后枚舉PHP中的行,但是僅僅為一行加載一個(gè)可能很大的結(jié)果集似乎是浪費(fèi)的。
3 回答

湖上湖
TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
SELECT `id`, (SELECT COUNT(*) FROM `table` WHERE `name` <= 'Beta') AS `position`, `name`FROM `table`WHERE `name` = 'Beta'

慕尼黑8549860
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
COUNT
WHERE
SELECT * FROM tbl WHERE name = 'Beta'
SELECT COUNT(1) FROM tbl WHERE name >= 'Beta'
添加回答
舉報(bào)
0/150
提交
取消