1

自動インクリメント列を含む TEMP テーブルを作成せずに、自動インクリメント フィールドをクエリ結果に追加するにはどうすればよいでしょうか? 例えば、

SELECT ???, * FROM MyTable

結果は次のようになります。

1|*
2|*
3|*
4

1 に答える 1

1

行番号を探していると思います。次のようなことを試してください:

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          ║
╚════════════╩════╩═════════╩═════════════════════╝

このSQLFiddleを参照してください

于 2013-05-15T05:05:27.203 に答える