私はできるだけシンプルにしておきます。複数のテーブルから重複した数で並べ替えます。mysql
それぞれに名前列(および名前列のみ)を持つ3つのテーブル(A、B、C)があります。私は3つの別々のテーブルから(重複なしで)すべての行を選択したいが、もっと重要なのは、 "Charles"がテーブルA、B、Cに存在する場合は、最初の結果。 1つのテーブルにのみ存在する名前は結果の最後に来ます。どんな助けもありがとう。ありがとう!
私はできるだけシンプルにしておきます。複数のテーブルから重複した数で並べ替えます。mysql
それぞれに名前列(および名前列のみ)を持つ3つのテーブル(A、B、C)があります。私は3つの別々のテーブルから(重複なしで)すべての行を選択したいが、もっと重要なのは、 "Charles"がテーブルA、B、Cに存在する場合は、最初の結果。 1つのテーブルにのみ存在する名前は結果の最後に来ます。どんな助けもありがとう。ありがとう!
select name from
(select name from A
UNION ALL
select name from B
UNION ALL
select name from C) t
group by name order by count(name) DESC
私はこれが好きです。ちょうどコメント:nameがnullの場合は0としてカウントされ、結果セットの最後になります。一番上に置くには、 'count(*)'にする必要があります。 –
美しくエレガントです。素晴らしい作品です、ありがとう! –
私の編集結果を参照してください:use 'union all' – kasavbere