2010-09-09 42 views
8

Nếu tôi có một bảng nhưChọn biệt cho 2 cột trong truy vấn SQL

1 bob 
1 ray 
1 bob 
1 ray 
2 joe 
2 joe 

Và tôi muốn chọn riêng biệt dựa trên hai cột vì vậy mà tôi sẽ nhận được

1 bob 
1 ray 
2 joe 

thế nào có thể Tôi từ truy vấn của tôi? Là cách duy nhất để nối các cột và quấn chúng xung quanh một toán tử hàm riêng biệt?

Trả lời

24
select distinct id, name from [table] 

hoặc

select id, name from [table] group by id, name 
+2

Để lại một số cho chúng tôi, eh? –

+0

Hài hước! Đã nhiều giờ kể từ lần trả lời cuối cùng của tôi! Har-har ... –

+1

@OMG Ngựa vằn, làm thế nào đến 47k là không đủ? –

4

Bạn chỉ có thể làm:

select distinct col1, col2 from your_table; 

Đó là chính xác những gì biệt điều hành dành cho: loại bỏ hàng kết quả trùng lặp.

Hãy ghi nhớ rằng biệt thường là một hoạt động khá tốn kém, vì, sau khi xử lý truy vấn, server DB có thể thực hiện một hoạt động loại để loại bỏ các bản sao.

Các vấn đề liên quan