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