执行以下SQL查询时,似乎HAVING子句不会产生任何影响。
SELECT
day_of_week,
fc,
gl,
CASE WHEN COUNT(inbound_allocation_factors) IS null THEN 0 ELSE count(inbound_allocation_factors) END AS num_of_factors,
DATE(request_datetime) AS date
FROM
allocationworkflow_with_gl
GROUP BY day_of_week,fc,gl,date
HAVING day_of_week = DATE_PART(dw,MAX(request_datetime))
request_datetime是时间戳,day_of_week是从0到6的整数,表示星期日到星期六。顺便说一句,我使用的是Redshift。谁能帮助我?非常感谢!
答案 0 :(得分:0)
您的问题不是datepart()
。您的问题是day_of_week
没有聚合。您可以通过执行以下操作进行验证:
HAVING DATE_PART(dw, MAX(request_datetime)) = 1
我不确定你真正想做什么,但这回答了你当前的问题。