【发布时间】:2021-03-20 16:26:18
【问题描述】:
最近在一次面试中被问到一个问题:如果我有如下表:
要求是:每天有多少订单和多少发货(基于日期列) - 输出需要是这样的:
我写了以下代码,但是面试官要求我写一个没有JOIN和UNION的SQL查询,实现相同的输出。
SELECT
COALESCE(a.order_date, b.ship_date), orders, shipments
FROM
(SELECT
order_date, COUNT(1) AS orders
FROM
table
GROUP BY 1) a
FULL JOIN
(SELECT
ship_date, COUNT(1) AS shipments
FROM table) b ON a.order_date = b.ship_date
这可能吗?各位大侠能指教一下吗?
【问题讨论】:
-
无需加入。 GROUP BY 和用例表达式进行条件聚合。
-
请提供示例代码
标签: sql google-bigquery