select A,B,count(*)
from (
select A,B,C from Table group by A,B,C
) as t
group by A,B
※ 引述《joedenkidd (优质的蓝色射手)》之铭言:
: 数据库名称:POSTGRESQL
: 数据库版本:8.3
: 内容/问题描述:
: 我的资料结构如下
: A栏 B栏 C栏 D栏 E栏
: A 1 XX1 FAIL 20180702
: A 1 XX1 PASS 20180801
: A 1 XX2 PASS 20180703
: A 2 XX1 FAIL 20180706
: A 2 XX1 PASS 20180710
: A 2 XX2 PASS 20180711
: 抓出各群组资料最新一笔资料,然后再做count动作
: 目前抓最新一笔资料是没有问题的,不过加count这部分,就不知道如何下手
: select A,B,C,max(E) from Table group by A,B,C
: 结果会是
: A栏 B栏 C栏 E栏
: A 1 XX1 20180801
: A 1 XX2 20180703
: A 2 XX1 20180710
: A 2 XX2 20180711
: 但我希望得到资料如下,请问需要如何修改语法
: A栏 B栏 Count()
: A 1 2
: A 2 2
: 本来我用下列语法是可达到需求,但资料量大,查寻就会很慢,所以才想问,如何调整比?
: select A,B,count(E) from Table where E in(select max(E) from Table group by A,B