SQL查询:我如何获得地址和每个地址的订单数量
问题描述:
一个包含用户地址列表,另一个表包含订单列表。
我想要做的就是加入这些表格,获得一个明确的地址列表和地址的订单数量。
Table1
ID - USERNAME - USERADDRESS
1 - USER1 - ADRESS1
2 - USER2 - ADDRES2
3 - USER3 - ADDRES3
Table2
ID - USERID - ORDERDETAIL
1 - 3 - ...
2 - 2 - ...
3 - 2 - ...
4 - 1 - ...
5 - 3 - ...
6 - 2 - ...
7 - 1 - ...
8 - 3 - ...
9 - 3 - ...
10 - 3 - ...
而获取
ADDRESS1 2
ADDRESS2 3
ADDRESS3 5
我怎样才能做到这一点在一个SQL语句?
答
您可以检查此查询:如果您给我们表定义,样本数据和预期的结果
select a.address, count(o.order_num) orders from addresses a inner join orders o on a.address_id = o.address_id GROUP BY a.address
答
根据评论,你应该陈述RDBMS并发布你的尝试。加盟和应用的集合,一般的做法是这样的:
SELECT t1.USERADDRESS,
COUNT(t2.ID) as NumOrders -- Show each address and a count of orders
FROM Table1 t1
INNER JOIN Table2 t2
on t2.USERID = t1.ID -- JOIN Key
GROUP BY t1.USERADDRESS;
,它会是多少更容易帮助你... – jarlh 2015-04-06 10:23:12
并为您正在使用的DBMS添加标签。 Postgres的?甲骨文? – 2015-04-06 10:23:35