我有一个表(reason_table)和数据(例如):
request_id created_time type detail
asdas232 2018-07-29 00:00:01 NO_VALID No valid offer for id asdas232
aseeas232 2018-07-29 00:00:02 NO_VALID Not default offer for id aseeas232
我正在尝试基于像这样的细节来计数:
invalidOffer = 1
NoDefaultOffer = 1
我试过了 :
SELECT detail, count(*)
FROM reason_table
where "type" like '%NO_VALID%'
and created_time >= '2018-07-29 00:00:00'
and created_time <= '2018-07-29 00:00:10'
GROUP BY
CASE
WHEN detail LIKE '%invalid%' THEN 'invalidOffer'
WHEN detail LIKE '%default%' THEN 'NoDefaultOffer'
ELSE NULL
END
但是出现错误,提示SQL错误[500310] [42803]:[无效的操作:列“ detail”必须出现在GROUP BY子句中或在聚合函数中使用;
可以帮助我在这里找到我做错了什么吗?
我正在使用DBeaver从redshift查询数据