Today: Yesterday: Total: Online:
カテゴリー
その他
  • RSS1.0
  • RSS2.0
  • atom0.3
  • valid XHTML1.0
  • valid CSS2
  • Credit
RSSリーダーで購読する | この日記のはてなブックマーク数 | プロフィール
コメントが一番多い記事(233コメント):人の心理の裏をかくホームページ集客術:リピータになってもらうためには
ツイートが一番多い記事(94ツイート):ちょっと待て!twitterやfacebookに子供の写真を掲載する親達への警告
いいねが一番多い記事(574いいね):facebookスパムに要注意。なりすましの見分け方とアカウント乗っ取りの手口(2013年度版)

カテゴリー » SQL August 30, 2021

UNIONで重複レコードがある場合、優先順位を指定して重複除去 ID:1630303957


UNION を使うと重複除去されるので
UNION ALLを使って、全件抽出したあと、
優先順位を指定する。

table:ta1
---------------
id,col1
---------------
1,a
2,b
---------------

table:ta2
---------------
id,col1
---------------
2,c
3,d
---------------


ta1を優先として、レコードのid2は、ta1のほうを抽出する

SQL

select
	id,
	priority,
	col1,
	seq
from(
	select
		id,
		priority,
		col1,
		ROW_NUMBER() OVER(PARTITION BY id ORDER BY priority) AS seq
	from(
		select
			id,
			col1,
			1 as priority
		from
			ta1
		union all
		select
			id,
			col1,
			2 as priority
		from
			ta2
	)ta3 
) ta4
where 
	ta4.seq = 1
— posted by midilin @ 03:12PM | Comment(0)

コメントをどうぞ。名前(ペンネーム)は必須です。URLはオプションです。

Comment Form
名前(ペンネーム): 文字色:
リンク作成 »
スパム対策画像認証(右に表示されている画像の番号を入れてください):
下のアイコンをクリックするとテキストエリアに挿入できます
:) :D 8-) ;-) :P :E :o :( (TT) ):T (--) (++!) ?;w) (-o-) (**!) ;v) f(--; :B l_P~ (QQ)

←メールアドレスを入力しておくと midilin がレスをした際に通知します: