0

我从 SQL 开始,并尝试执行一个查询,该查询将选择所有唯一的事件名称,并且 event_name 列的值中没有“TODAY-XXXXXXXX”。我有一个查询可以很好地从表中获取唯一值,但是我不能让 NOT LIKE 正常工作。

例如,我要删除所有名称为 TODAY-20191021 的项目,最后的数据可以更改,但日期前面都有 TODAY

这是运行良好的查询

SELECT DISTINCT event_name, COUNT(*)
FROM events 
GROUP BY event_name
Having COUNT(*) > 100.

但是当我尝试添加 where 子句时,它会因为这个错误而失败

运行查询时出错:列“TODAY-%”不存在第 3 行:WHERE event_name NOT LIKE “TODAY-%”^

这是我到目前为止所拥有的

SELECT DISTINCT event_name, COUNT(*)
FROM events 
WHERE event_name NOT LIKE "TODAY%"
GROUP BY event_name
Having COUNT(*) > 100.
4

1 回答 1

1

这里:

WHERE event_name NOT LIKE "TODAY%"

因为您使用双引号,所以数据库将此字符串视为标识符(此处为列名)。相反,您想使用单引号,它代表文字字符串:

WHERE event_name NOT LIKE 'TODAY%'
于 2020-05-26T02:17:53.553 回答