我有订单表,国家表和客户表。我想按国家/地区获得订单数量。我试过了
SELECT
COUNT(*)
FROM
(
nation
INNER JOIN customer ON nation.n_nationkey = customer.c_nationkey
)
INNER JOIN orders ON customer.c_custkey = orders.O_CUSTKEY
但它并没有给我我想要的东西。如何从每个国家获得订单数量的国家数量?
答案 0 :(得分:2)
您需要一个分组,并且该子句中至少列有一列,例如
SELECT
nation.n_nationkey, COUNT(*) order_count
FROM nation
INNER JOIN customer ON nation.n_nationkey = customer.c_nationkey
INNER JOIN orders ON customer.c_custkey = orders.O_CUSTKEY
GROUP BY
nation.n_nationkey
这将导致他查询为n_nationkey
的每个唯一值生成一行,并计算与每行的n_nationkey
值相关的所有行。在selct和group by子句中添加或替换国家/地区名称列。