テーブルに列がほとんどありません
Col1、Col2、Col3、Col4
今、このように選択したい
SELECT DISTINCT (Col1, Col2, Col3), Col4
つまり、これらの3つの列のみに基づいて区別を取得します。
テーブルに列がほとんどありません
Col1、Col2、Col3、Col4
今、このように選択したい
SELECT DISTINCT (Col1, Col2, Col3), Col4
つまり、これらの3つの列のみに基づいて区別を取得します。
GROUP BY Col1, Col2, Col3
、、などの集計関数を使用するだけで、次のcol4
ようMAX
にMIN
なります。
SELECT Col1, Col2, Col3, MAX(Col4)
FROM TableName
GROUP BY Col1, Col2, Col3
コメントから別の回答へ:
このCol1、Col2、Col3、および(区切り文字形式のCol4)のようにできますか
はい、を使用できますfor xml path
。
select Col1,
Col2,
Col3,
(
select ',' + T2.Col4
from YourTable T2
where T1.Col1 = T2.Col1 and
T1.Col2 = T2.Col2 and
T1.Col3 = T2.Col3
for xml path(''), type
).value('substring((./text())[1], 2)', 'varchar(max)') as Col4
from YourTable as T1
group by T1.Col1, T1.Col2, T1.Col3
group byとdistinctは、SQLでほぼ同様の機能を実行します。
したがって、以下の両方のクエリはほぼ同等です。
SELECT DISTINCT Col1, Col2, Col3 FROM tbl
SELECT Col1, Col2, Col3 FROM tbl GROUP BY Col1, Col2, Col3
select distinct ( Convert(varchar(255),Col1) +' '+
Convert(varchar(255),Col2)+' '+Convert(varchar(255),Col3)),
Col4 from clients