2
與像一個PostgreSQL 9.6表結構:分鐘之間PostgreSQL的最大值在
who | when
每天有相同誰和不同當多個記錄。 專注於每個記錄是在或出動作爲誰要,所以需要爲每個誰獲得總時間。
即
who | when
A | 2017-03-01 08:00
A | 2017-03-01 12:00
A | 2017-03-01 13:00
A | 2017-03-01 15:00
我怎樣才能在總的小時?
我認爲max(when) - min(when)得到週期,但需要減去計算中間最小值和最大值的中間數據。
所以需要得到作爲12:00「morningout」和13:00爲「afternoonin」但是當我把betweeen最小最大在它抱怨
「沒有聚合函數可能在」
select who,
to_char(date_trunc('day', when), 'YYYY-MM-DD') "thisday",
count(who) as 'signIn'
min(when) as 'morningout'
max(when) as 'afternoonin'
from the_table
where when between max(when) and min(when)
group by who, "thisday"
order by who;
通常情況下,您將WHERE放在FROM和GROUP BY之間。對於聚合函數條件,您需要一個HAVING子句。 – jarlh
什麼時候在the_table的最大值(when)和min(when)之間? –