我有一個存儲團隊的MYSQL表。選擇表中的單行索引
表結構:
CREATE TABLE teams ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(28) COLLATE utf8_unicode_ci NOT NULL, UNIQUE KEY id (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1;
的樣本數據:
INSERT INTO
隊VALUES (1, 'one'), (2, 'two'), (3, 'three'), (4, 'four'), (5, 'five');
用途:
SELECT id, name, id as rowNumber FROM teams WHERE id = 4
返回正確的ROWNUMBER,因爲真的有三排在表格中面對它。但是這隻有在我不刪除一行時纔有效。
例子:
比方說,我DELETE FROM teams WHERE id = 3;
當我現在用SELECT id, name, id as rowNumber FROM teams WHERE id = 4
,因爲現在只有兩個表中的行它(ID的1 & 2)盈的結果是錯誤的。
我怎樣才能從一個特定的行獲得由id排序的「真正的」行號/索引?
你想訂購的ID查詢?你可以添加到查詢'ORDER BY id'。 –