簡體   English   中英

按星期幾的特定列的總和

[英]Sum of particular columns by day of week

我有自行車租賃數據,並使用 PostgreSQL 中的以下代碼按每天的使用次數對其進行分組:

SELECT date_trunc('day', rental_date) FROM rentalinfo;

SELECT
    COUNT(date_trunc('day', rental_date)) as counted_leads,
    date_trunc('day', rental_date) as count_date
FROM rentalinfo
GROUP BY date_trunc('day', rental_date)
ORDER BY date_trunc('day', rental_date) ASC;

結果給出了一個名為 counted_leads 的列,其中包含每天的租金數量。 我想查詢我可以分別提取和總結周末和工作日的租金數量。 我試過平日:

SELECT SUM(counted_leads) AS sum_date WHERE count_date NOT IN ('2021-12-04',..)

但是我收到一條錯誤消息,提示“錯誤:在“SELECT”處或附近出現語法錯誤。

請問我該如何解決?

在 where 子句中使用extract(dow ...)過濾所有工作日(或周末)行並計算它們:

select count(*) as weekdays
from rentalinfo
where extract(dow from rental_date) in (1, 2, 3, 4, 5)

或者使用條件聚合:

select count(case when extract(dow from rental_date) in (1, 2, 3, 4, 5) then 1 end) as weekdays
     , count(case when extract(dow from rental_date) in (0, 6) then 1 end) as weekends
from rentalinfo

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM