提交 a489024d authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov

Fix Aggregate.getSQL() for COUNT(*) with conditions

上级 cf3f69f5
......@@ -654,7 +654,7 @@ public class Aggregate extends AbstractAggregate {
case GROUP_CONCAT:
return getSQLGroupConcat();
case COUNT_ALL:
return "COUNT(*)";
return appendTailConditions(new StringBuilder().append("COUNT(*)")).toString();
case COUNT:
text = "COUNT";
break;
......
......@@ -8,8 +8,8 @@
create table test(v int);
> ok
insert into test values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11), (12);
> update count: 12
insert into test values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11), (12), (null);
> update count: 13
select count(v), count(v) filter (where v >= 4) from test where v <= 10;
> COUNT(V) COUNT(V) FILTER (WHERE (V >= 4))
......@@ -17,6 +17,19 @@ select count(v), count(v) filter (where v >= 4) from test where v <= 10;
> 10 7
> rows: 1
select count(*), count(*) filter (where v >= 4) from test;
> COUNT(*) COUNT(*) FILTER (WHERE (V >= 4))
> -------- --------------------------------
> 13 9
> rows: 1
select count(*), count(*) filter (where v >= 4) from test where v <= 10;
> COUNT(*) COUNT(*) FILTER (WHERE (V >= 4))
> -------- --------------------------------
> 10 7
> rows: 1
create index test_idx on test(v);
> ok
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论