Tôi đang cố tính số lần xuất hiện của một tập hợp thành phố và quốc gia riêng biệt trong bảng người dùng.Việc đếm số lần xuất hiện của nhiều cột riêng biệt trong SQL
Bảng này được đặt ra tương tự như:
userid city country
------ --------- --------------
1 Cambridge United Kingdom
2 London United Kingdom
3 Cambridge United Kingdom
4 New York United States
Những gì tôi cần là một danh sách của tất cả các thành phố, cặp quốc gia có số lần xuất hiện:
Cambridge, United Kingdom, 2
London, United Kingdom, 1
New York, United States, 1
Hiện nay tôi chạy một truy vấn SQL để có được các cặp riêng biệt:
$array = SELECT DISTINCT city, country FROM usertable
sau đó đọc nó thành một mảng trong PHP và lặp qua mảng, chạy một truy vấn để đếm mỗi lần xuất hiện cho mỗi hàng trong mảng:
SELECT count(*) FROM usertable
WHERE city = $array['city']
AND country = $array['country']
Tôi giả định nắm rất ít của tôi về SQL thiếu một cái gì đó - những gì sẽ là cách chính xác để làm điều này, tốt nhất là không có sự can thiệp của PHP?
Tốc độ đáp ứng ngoạn mục - cảm ơn rất nhiều, đã làm việc một cách hoàn hảo (sẽ chấp nhận câu trả lời ngay khi nó cho phép tôi) –