チームを格納する 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
テーブルの前に実際には 3 つの行があるため、正しい rowNumber を返します。しかし、これは行を削除しない限り機能します。
例:テーブルの前に 2 つの行 (id の 1&2) しかないため、結果が間違っているとし
ますDELETE FROM teams WHERE id = 3;
。SELECT id, name, id as rowNumber FROM teams WHERE id = 4
特定の行から id で並べ替えられた「実際の」行番号/インデックスを取得するにはどうすればよいですか?