自動インクリメント列を含む TEMP テーブルを作成せずに、自動インクリメント フィールドをクエリ結果に追加するにはどうすればよいでしょうか? 例えば、
SELECT ???, * FROM MyTable
結果は次のようになります。
1|*
2|*
3|*
行番号を探していると思います。次のようなことを試してください:
SELECT (SELECT COUNT(0)
FROM supportContacts t1
WHERE t1.id <= t2.id
) AS 'Row Number', * FROM supportContacts t2 ORDER BY id;
表の例:
╔════╦═════════╦═════════════════════╗
║ id ║ type ║ details ║
╠════╬═════════╬═════════════════════╣
║ 1 ║ Email ║ admin@sqlfiddle.com ║
║ 2 ║ Twitter ║ @sqlfiddle ║
╚════╩═════════╩═════════════════════╝
結果:
╔════════════╦════╦═════════╦═════════════════════╗
║ Row Number ║ id ║ type ║ details ║
╠════════════╬════╬═════════╬═════════════════════╣
║ 1 ║ 1 ║ Email ║ admin@sqlfiddle.com ║
║ 2 ║ 2 ║ Twitter ║ @sqlfiddle ║
╚════════════╩════╩═════════╩═════════════════════╝