我有以下查询:
Select date_part('Day', t.timestamp) as day_of_month,
Count(id) total,
(
Select Count(id)
From the_table
Where text_string_column Like '%keyword%'
)
From the_table t
Group By date_part('Day', t.timestamp)
Order By date_part('Day', t.timestamp) Desc
返回
count day_of_month total
16445 21 447851
16445 20 552149
我需要将计数与返回的日期(或任何其他date_part类型)相关
谢谢你的时间!答案 0 :(得分:1)
实际上,您只需要点击一次表并使用SUM
结合CASE
来获取“条件计数”,而不是使用子查询,这会导致对同一个表进行第二次扫描。
例如,试试这个:
Select date_part('Day', t.timestamp) as day_of_month,
Count(id) total,
sum(case when text_string_column Like '%keyword%' then 1 else 0 end)
From the_table t
Group By date_part('Day', t.timestamp)
Order By date_part('Day', t.timestamp) Desc