Tôi cần trợ giúp tạo truy vấn SQL để đếm các hàng được chia nhỏ trên hai cột riêng biệt.Truy vấn postgreSQL - Đếm số giá trị cột phù hợp trên hai cột
Đây là DDL cho Bàn của tôi:
CREATE TABLE Agency (
id SERIAL not null,
city VARCHAR(200) not null,
PRIMARY KEY(id)
);
CREATE TABLE Customer (
id SERIAL not null,
fullname VARCHAR(200) not null,
status VARCHAR(15) not null CHECK(status IN ('new','regular','gold')),
agencyID INTEGER not null REFERENCES Agency(id),
PRIMARY KEY(id)
);
mẫu dữ liệu từ các bảng
AGENCY
id|'city'
1 |'London'
2 |'Moscow'
3 |'Beijing'
CUSTOMER
id|'fullname' |'status' |agencyid
1 |'Michael Smith' |'new' |1
2 |'John Doe' |'regular'|1
3 |'Vlad Atanasov' |'new' |2
4 |'Vasili Karasev'|'regular'|2
5 |'Elena Miskova' |'gold' |2
6 |'Kim Yin Lu' |'new' |3
7 |'Hu Jintao' |'regular'|3
8 |'Wen Jiabao' |'regular'|3
tôi muốn đếm các khách hàng mới, khách hàng thường xuyên và gold_customers theo thành phố.
Tôi cần được tính riêng cho ('mới', 'thông thường', 'vàng'). Đây là kết quả tôi muốn:
'city' |new_customers|regular_customers|gold_customers
'Moscow' |1 |1 |1
'Beijing'|1 |2 |0
'London' |1 |1 |0
thể trùng lặp của [T-SQL: là nó có thể để xác định tình trạng Count()?] (http://stackoverflow.com/questions/1400078/t-sql-is-it-possible-to-specify-condition-in-count) – Guffa
+1 cho SQL DDL :) – onedaywhen