我现在正在学习SQL中的数据透视,其中一个例子是:
CREATE EXTENSION IF NOT EXISTS tablefunc;
SELECT * FROM CROSSTAB($$
SELECT
meal_id,
DATE_TRUNC('month', order_date) :: DATE AS delivr_month,
COUNT(DISTINCT order_id) :: INT AS orders
FROM orders
WHERE meal_id IN (0, 1)
AND order_date < '2018-08-01'
GROUP BY meal_id, delivr_month
ORDER BY meal_id, delivr_month $$)
AS ct (meal_id INT,
"2018-06-01" INT,
"2018-07-01" INT)
ORDER BY meal_id ASC;
你能告诉我WHERE meal_id IN (0, 1)
是什么意思吗?我试着寻找答案,但找不到任何好的解释。
如果你能帮我,我会非常感激的。谢谢你。。。
https://www.w3schools.com/sql/sql_in.asp
在括号内,您可以指定meal_id = 0
单独检查并由OR
连接的元素-操作员