我有幾個表中的列如何選擇特定的列不同
Col1中,col2的,COL3,COL4
現在我想選擇這樣
SELECT DISTINCT (Col1, Col2, Col3), Col4
即得到不同的基於o只有這三個柱子。
我有幾個表中的列如何選擇特定的列不同
Col1中,col2的,COL3,COL4
現在我想選擇這樣
SELECT DISTINCT (Col1, Col2, Col3), Col4
即得到不同的基於o只有這三個柱子。
從另一個答案評論:
我能得到這樣的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 Col1, Col2, Col3
與和col4
等MAX
集合函數MIN
等。像這樣:
SO兩個查詢:
SELECT Col1, Col2, Col3, MAX(Col4)
FROM TableName
GROUP BY Col1, Col2, Col3
這是一個varchar字段,我只是想要基於三列的不同記錄。 – Zerotoinfinity
@Zerotoinfinite那麼'col4'你想爲其他行的每個不同值做什麼? –
Col4是varchar,我不能做任何聚合。但那是獨一無二的專欄。我想獲得3列的獨特性,只需添加與該行相關的第四列 – Zerotoinfinity
通過和不同的執行SQL幾乎類似的功能的組下面幾乎相同:
SELECT DISTINCT Col1, Col2, Col3 FROM tbl
SELECT Col1, Col2, Col3 FROM tbl GROUP BY Col1, Col2, Col3
但是我想在結果集中也有Col4 – Zerotoinfinity
爲什麼不寫一個內部查詢來完成3列的區分,而外部查詢需要內部3和Col4的匹配行? – RMN
select distinct (Convert(varchar(255),Col1) +' '+
Convert(varchar(255),Col2)+' '+Convert(varchar(255),Col3)),
Col4 from clients
怎麼樣'Col4'您需要在此進行一些聚集了其他3列的每個不同的值? –
您可能會從這篇文章中獲得幫助http://stackoverflow.com/questions/1471250/counting-distinct-over-multiple-columns –