Tôi có vài cột trong một bảngLàm thế nào để chọn riêng biệt trên các cột cụ thể
col1, col2, Col3, Col4
Bây giờ tôi muốn chọn như thế này
SELECT DISTINCT (Col1, Col2, Col3), Col4
tức là nhận được chữ o riêng biệt n chỉ ba colunms này.
Tôi có vài cột trong một bảngLàm thế nào để chọn riêng biệt trên các cột cụ thể
col1, col2, Col3, Col4
Bây giờ tôi muốn chọn như thế này
SELECT DISTINCT (Col1, Col2, Col3), Col4
tức là nhận được chữ o riêng biệt n chỉ ba colunms này.
Từ một bình luận cho câu trả lời khác:
Tôi có thể có được như col1 này, col2, Col3 và (Col4 ở dạng delimiter)
Có, bạn có thể sử dụng 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
Chỉ GROUP BY Col1, Col2, Col3
với một chức năng tổng hợp với col4
như MAX
, MIN
, vv .. như vậy:
SELECT Col1, Col2, Col3, MAX(Col4)
FROM TableName
GROUP BY Col1, Col2, Col3
Đó là trường varchar, tôi chỉ muốn có các bản ghi riêng biệt dựa trên ba cột. – Zerotoinfinity
@Zerotoinfinite Còn 'col4' thì bạn muốn làm gì cho mỗi giá trị khác biệt cho các hàng khác? –
Col4 là varchar và tôi không thể làm bất kỳ tập hợp trên đó. nhưng đó là cột duy nhất. Tôi muốn để có được duy nhất của 3 cột và chỉ cần thêm cột thứ tư liên quan đến hàng đó – Zerotoinfinity
Các nhóm bằng và khác biệt thực hiện chức năng gần như tương tự trong SQL:
SO cả các truy vấn dưới đây gần như tương đương:
SELECT DISTINCT Col1, Col2, Col3 FROM tbl
SELECT Col1, Col2, Col3 FROM tbl GROUP BY Col1, Col2, Col3
Nhưng tôi muốn có Col4 cũng trong resultset – Zerotoinfinity
Tại sao bạn không viết một truy vấn bên trong làm khác biệt của 3 cột và truy vấn bên ngoài dùng bên trong 3 và Col4 của hàng phù hợp? – RMN
select distinct (Convert(varchar(255),Col1) +' '+
Convert(varchar(255),Col2)+' '+Convert(varchar(255),Col3)),
Col4 from clients
gì về 'Col4' bạn cần phải thực hiện một số tập hợp về vấn đề này đối với từng giá trị riêng biệt của 3 cột khác? –
Bạn có thể nhận trợ giúp từ bài đăng này http://stackoverflow.com/questions/1471250/counting-distinct-over-multiple-columns –