0

多くのテーブルを持つデータベースがあり、各テーブルには ID のみが格納されています。今、私がやりたいことは次のとおりです。

SELECT id FROM table1, table2, table3
GROUP BY id;

しかし、発生順で並べ替えたいと思っています。

たとえば、3 つのテーブルすべてにある ID は一番上に表示され、1 つのテーブルだけにある ID は一番下に表示されます。これを行う方法の手がかりはありますか?

4

3 に答える 3

5

これも試してみてください

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
于 2012-07-17T12:27:51.563 に答える
1
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;

あなたの問題についてはよくわかりませんが、これは役に立ちます

于 2012-07-17T12:12:20.993 に答える
-2
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
于 2012-07-17T12:00:46.743 に答える