Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql select在SQLworkbench中的此位置无效_Mysql_Sql - Fatal编程技术网

Mysql select在SQLworkbench中的此位置无效

Mysql select在SQLworkbench中的此位置无效,mysql,sql,Mysql,Sql,当我执行以下sql时,返回了错误 select在此位置对此服务器版本无效,应为、锁、表、值,并带有“(” 我的sql语句如下所示 select id ,COALESCE(count(*) FILTER (WHERE snapshot_day in ('2021-04-19')), 0) AS "2021-04-19" ,COALESCE(count(*) FILTER (WHERE snapshot_day in ('2021-04-20')), 0) AS "2

当我执行以下sql时,返回了错误

select在此位置对此服务器版本无效,应为、锁、表、值,并带有“(”

我的sql语句如下所示

select 
id
,COALESCE(count(*) FILTER (WHERE snapshot_day in ('2021-04-19')), 0) AS "2021-04-19"
,COALESCE(count(*) FILTER (WHERE snapshot_day in ('2021-04-20')), 0) AS "2021-04-20"
,COALESCE(count(*) FILTER (WHERE snapshot_day in ('2021-04-21')), 0) AS "2021-04-21"
from table
where type in ('Daily')
group by 1
我检查了我的查询,但没有发现任何错误

问题在哪里

如果有人有意见,请告诉我


谢谢

如前所述,mysql中没有过滤器,但您仍然可以通过以下方式实现相同的效果:

select 
id
,coalesce(sum(case when snapshot_day in ('2021-04-19') then 1 else 0 end), 0) AS "2021-04-19"
,coalesce(sum(case when snapshot_day in ('2021-04-20') then 1 else 0 end), 0) AS "2021-04-20"
,coalesce(sum(case when snapshot_day in ('2021-04-21') then 1 else 0 end), 0) AS "2021-04-21"
from table
where type in ('Daily')
group by 1

FILTER
是Prosgresql(可能还有另一个DBMS)功能,它不适用于MySQL。@Akina:
FILTER
实际上是SQL标准的一部分,不是特定于PostgreSQL的。但实际上,支持并不广泛。据我所知,只有Postgres、HSQLDB和SQLite支持它