2012-12-19 39 views
11

Hãy tư vấn cho cách tốt nhất để giải quyết vấn đề của tôi.Đếm SQL và sao chép nhóm

Tôi đã là một vấn đề để tìm ra cách để đếm các bản sao trong bảng như dưới đây

Street  | City 

avenue 123 | New York 
avenue 123 | New York 
avenue 20 | New York 
avenue 35 | Chicago 
avenue 12 | Chicago 
avenue 123 | Chicago 
avenue 12 | Chicago 
avenue 12 | Chicago 

Tôi muốn có số đường phố trùng lặp trong cùng một thành phố kết quả dưới đây?

kết quả:

Street  | City | Duplicates 

avenue 123 | New York | 2 
avenue 12 | Chicago | 3 

Trả lời

14

Sử dụng GROUP BY, COUNTHAVING:

SELECT Street, City, COUNT(*) 
FROM yourtable 
GROUP BY Street, City 
HAVING COUNT(*) > 1 

Xem nó làm việc trực tuyến: sqlfiddle

3

Hãy thử:

SELECT street, city, COUNT(*) AS duplicates 
FROM yourtable 
GROUP BY street, city 
HAVING COUNT(*) >1 

Xóa HAVING COUNT(*) > 1 nếu bạn muốn hiển thị các dòng không có trùng lặp.

+0

Rất cám ơn :) chỉ là những gì tôi cần. – Tom

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