【发布时间】:2017-03-27 21:41:29
【问题描述】:
我正在尝试执行以下代码但出现错误
WHERE (case when (Count(distinct idc) >= 2) then idw NOT LIKE '%_pronto_' ELSE TRUE end)
有时我有欺骗 'idc' 值,如果是这样,我想排除列 idw 具有类似 '%pronto' 的字符串的行
这些是查询的结果,我需要在外部查询中对其进行过滤:
# userid, idw, uniq, idc
193, q3470_pronto_, 0, 3470
193, q3470_next_, 1, 3470
193, q3496_alt_1_, 10, 34961
193, q3498_alt_3_, 11, 34983
193, q3499_alt_2_, 12, 34992
在上面的这种情况下,我想排除第 1 行,因为我有超过 1 个 idc = 3470 并且第 1 行的 idw 像 %pronto
我需要它,因为有时我有一个 uniq idc,我需要保持 pronto
【问题讨论】:
-
你遇到了什么错误?
-
错误码:1111. 组函数使用无效
-
您不能在 WHERE 子句中使用像
COUNT()这样的聚合函数。试试 HAVING。
标签: mysql count case distinct where