我在postgres中使用group by时出错?

时间:2018-04-19 00:43:36

标签: postgresql count

我有一张桌子' Clase'数据:

TABLE clase(id_curso int, paralelo char, día int, hora_ini int, duracion int, aula varchar, id_profe int);

insert into clase values(1, 'A', 2, 14, 2,'S-202',4);

insert into clase values(1, 'A', 3, 14, 3,'L-101',4);

insert into clase values(2, 'A', 3, 8, 8,'L-101',5);

insert into clase values(2, 'B', 4, 8, 8,'L-102',5);

我跑的时候:

select id_curso, count(distinct paralelo)

from clase

group by id_curso, paralelo

having count(distinct paralelo)>=1

我获得:

id_curso || count

1        ||     1

2        ||     1

2        ||     1

但我认为我应该获得:

id_curso || count

1        ||     1

2        ||     2

因为id为2的课程有两个不同的' paralelo'

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:0)

您应该删除组中的paralelo,否则您将始终获得值1