我有一张订单表、一张国家表和一张客户表。我正在尝试按国家/地区获取订单数量。我试过了
SELECT
COUNT(*)
FROM
(
nation
INNER JOIN customer ON nation.n_nationkey = customer.c_nationkey
)
INNER JOIN orders ON customer.c_custkey = orders.O_CUSTKEY
但它没有给我我想要的。如何获取国家数量以及每个国家的订单数量?
最佳答案
您需要一个分组依据并且该子句中至少列出一列,例如
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
值相关的所有行进行计数。在 select 和 group by 子句中添加或替换国家名称列。
关于mysql - 如何列出每个国家/地区的订单数量以及国家/地区名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47147969/