多くのテーブルを持つデータベースがあり、各テーブルには ID のみが格納されています。今、私がやりたいことは次のとおりです。
SELECT id FROM table1, table2, table3
GROUP BY id;
しかし、発生順で並べ替えたいと思っています。
たとえば、3 つのテーブルすべてにある ID は一番上に表示され、1 つのテーブルだけにある ID は一番下に表示されます。これを行う方法の手がかりはありますか?
これも試してみてください
select id from
(
SELECT id FROM table1
union all
select id from table2
union all
select id from table3
) as t
GROUP BY id
order by count(id) desc
select sum(t1.id IS NOT NULL,t2.id IS NOT NULL, t3.id IS NOT NULL) as total,t1.id from table1 as t1 join table2 as t2 on t1.id=t2.id join table3 as t3 on t3.id = t1.id order by total desc;
あなたの問題についてはよくわかりませんが、これは役に立ちます
select id from
(
SELECT id FROM table1
union all
select id from table2
union all
select id from table3
) as t
GROUP BY id
order by id desc