mirror of
https://github.com/postgres/postgres.git
synced 2025-12-18 05:01:01 +03:00
aggregate(DISTINCT ...) works, per SQL spec.
Note this forces initdb because of change of Aggref node in stored rules.
This commit is contained in:
@@ -76,6 +76,42 @@ cnt_1000
|
||||
1000
|
||||
(1 row)
|
||||
|
||||
QUERY: SELECT count(DISTINCT four) AS cnt_4 FROM onek;
|
||||
cnt_4
|
||||
-----
|
||||
4
|
||||
(1 row)
|
||||
|
||||
QUERY: select ten, count(*), sum(four) from onek group by ten;
|
||||
ten|count|sum
|
||||
---+-----+---
|
||||
0| 100|100
|
||||
1| 100|200
|
||||
2| 100|100
|
||||
3| 100|200
|
||||
4| 100|100
|
||||
5| 100|200
|
||||
6| 100|100
|
||||
7| 100|200
|
||||
8| 100|100
|
||||
9| 100|200
|
||||
(10 rows)
|
||||
|
||||
QUERY: select ten, count(four), sum(DISTINCT four) from onek group by ten;
|
||||
ten|count|sum
|
||||
---+-----+---
|
||||
0| 100| 2
|
||||
1| 100| 4
|
||||
2| 100| 2
|
||||
3| 100| 4
|
||||
4| 100| 2
|
||||
5| 100| 4
|
||||
6| 100| 2
|
||||
7| 100| 4
|
||||
8| 100| 2
|
||||
9| 100| 4
|
||||
(10 rows)
|
||||
|
||||
QUERY: SELECT newavg(four) AS avg_1 FROM onek;
|
||||
avg_1
|
||||
-----
|
||||
|
||||
@@ -1075,9 +1075,9 @@ pg_user |SELECT pg_shadow.usename, pg_shadow.usesysid, pg_shadow.usecr
|
||||
pg_views |SELECT c.relname AS viewname, pg_get_userbyid(c.relowner) AS viewowner, pg_get_viewdef(c.relname) AS definition FROM pg_class c WHERE (c.relhasrules AND (EXISTS (SELECT r.rulename FROM pg_rewrite r WHERE ((r.ev_class = c.oid) AND (r.ev_type = '1'::"char")))));
|
||||
rtest_v1 |SELECT rtest_t1.a, rtest_t1.b FROM rtest_t1;
|
||||
rtest_vcomp |SELECT x.part, (x.size * y.factor) AS size_in_cm FROM rtest_comp x, rtest_unitfact y WHERE (x.unit = y.unit);
|
||||
rtest_vview1 |SELECT x.a, x.b FROM rtest_view1 x WHERE (0 < (SELECT count(1) AS count FROM rtest_view2 y WHERE (y.a = x.a)));
|
||||
rtest_vview1 |SELECT x.a, x.b FROM rtest_view1 x WHERE (0 < (SELECT count(*) AS count FROM rtest_view2 y WHERE (y.a = x.a)));
|
||||
rtest_vview2 |SELECT rtest_view1.a, rtest_view1.b FROM rtest_view1 WHERE rtest_view1.v;
|
||||
rtest_vview3 |SELECT x.a, x.b FROM rtest_vview2 x WHERE (0 < (SELECT count(1) AS count FROM rtest_view2 y WHERE (y.a = x.a)));
|
||||
rtest_vview3 |SELECT x.a, x.b FROM rtest_vview2 x WHERE (0 < (SELECT count(*) AS count FROM rtest_view2 y WHERE (y.a = x.a)));
|
||||
rtest_vview4 |SELECT x.a, x.b, count(y.a) AS refcount FROM rtest_view1 x, rtest_view2 y WHERE (x.a = y.a) GROUP BY x.a, x.b;
|
||||
rtest_vview5 |SELECT rtest_view1.a, rtest_view1.b, rtest_viewfunc1(rtest_view1.a) AS refcount FROM rtest_view1;
|
||||
shoe |SELECT sh.shoename, sh.sh_avail, sh.slcolor, sh.slminlen, (sh.slminlen * un.un_fact) AS slminlen_cm, sh.slmaxlen, (sh.slmaxlen * un.un_fact) AS slmaxlen_cm, sh.slunit FROM shoe_data sh, unit un WHERE (sh.slunit = un.un_name);
|
||||
|
||||
@@ -30,6 +30,12 @@ SELECT max(student.gpa) AS max_3_7 FROM student;
|
||||
|
||||
SELECT count(four) AS cnt_1000 FROM onek;
|
||||
|
||||
SELECT count(DISTINCT four) AS cnt_4 FROM onek;
|
||||
|
||||
select ten, count(*), sum(four) from onek group by ten;
|
||||
|
||||
select ten, count(four), sum(DISTINCT four) from onek group by ten;
|
||||
|
||||
|
||||
SELECT newavg(four) AS avg_1 FROM onek;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user