前提・実現したいこと
MySQLで複数テーブルを結合して大量データを取得するクエリを作成しています。
そのselectで連番を振りたいのですが、ソートするとソート前の連番が振られているように見えます。
そこをソートした後のデータに1から連番を振りたいのですが、ご教示いただけますと幸いです。
selectの最後のnoに1からの連番を振りたいです。
該当のソースコード
MySQL
1select distinct 2 A.code 3 , B.data1 4 , C.data2 5 , D.code 6 , @n := @n + 1 as no 7from tableA as A 8inner join tableB as B on B.id = A.id 9 and B.code = 'before' 10inner join tableB as C on C.id = A.id 11 and C.code = 'after' 12inner join tableC as D on D.id = A.id 13, (select @n:=0) n 14where 1 = 1 15order by A.code, A.order_no, D.id
試したこと
試しにorder byを外すと結果画面で1から連番が振られることは確認しました。
・参考サイト
補足情報(FW/ツールのバージョンなど)
MySQL 5.6.50
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/15 03:39 編集
2021/04/15 03:56