SQL 已售票 - 最近 30 天 - 使用 Where 或 Having?
SQL Tickets sold - Last 30 Days - use Where or Having?
对于从当天算起的最近 30 天内售出的航线,每条航线每天售出多少张票?
SELECT COUNT(TICKET_ID) NUMBER_TICKETS, ROUTE_CODE, FLIGHT_DATE
FROM TICKETS
WHERE (DAYS(CURRENT DATE)- DAYS(FLIGHT_DATE))<=30
GROUP BY ROUTE_CODE, FLIGHT_DATE
这应该是 WHERE 还是 HAVING?我不确定哪种方式是正确的?
您想在 WHERE 中找到它。
这是理解这一点的最佳方式 --
在 GROUP BY 之前使用 WHERE 子句
在 GROUP BY 之后使用 HAVING 子句
所以 -- 您想要对过去 30 天内的项目进行分组 -- 这发生在分组之前。
哪里是正确的命令,考虑使用“datediff”来计算 30 天
WHERE 子句用于指定过滤记录的条件在进行任何分组之前
HAVING 子句用于指定从组
中过滤值 的条件
在这种情况下,where 子句用于过滤条件,而不是组。
你应该使用“having”,例如,如果你想检查 ticket_id.
对于从当天算起的最近 30 天内售出的航线,每条航线每天售出多少张票?
SELECT COUNT(TICKET_ID) NUMBER_TICKETS, ROUTE_CODE, FLIGHT_DATE
FROM TICKETS
WHERE (DAYS(CURRENT DATE)- DAYS(FLIGHT_DATE))<=30
GROUP BY ROUTE_CODE, FLIGHT_DATE
这应该是 WHERE 还是 HAVING?我不确定哪种方式是正确的?
您想在 WHERE 中找到它。
这是理解这一点的最佳方式 --
在 GROUP BY 之前使用 WHERE 子句
在 GROUP BY 之后使用 HAVING 子句
所以 -- 您想要对过去 30 天内的项目进行分组 -- 这发生在分组之前。
哪里是正确的命令,考虑使用“datediff”来计算 30 天
WHERE 子句用于指定过滤记录的条件在进行任何分组之前 HAVING 子句用于指定从组
中过滤值 的条件在这种情况下,where 子句用于过滤条件,而不是组。 你应该使用“having”,例如,如果你想检查 ticket_id.