![](/img/trans.png)
[英]Get a Postgres timestamp value from postgres date and postgres time
[英]Postgres: Date grouping in Subquery from timestamp
我正在尝试找出每天每个列表产生多少线索。
我有这个查询:
SELECT
vl.listing_id,
vl.created_at::date as dt,
(
SELECT count(*)
FROM voice_leads vl2
WHERE vl2.listing_id = vl.listing_id
AND vl.created_at::date = vl2.created_at::date
) as cnt
FROM voice_leads vl
GROUP BY listing_id, vl.created_at::date
ORDER BY listing_id
但是执行时出现“错误:子查询从外部查询第8行使用未分组的列“ vl.created_at”:AND vl.created_at :: date = vl2.created_at :: date”
关于如何解决该问题的任何想法?
SELECT
vl.listing_id,
vl.created_at::date as dt,
count(cnt.*)
FROM voice_leads vl, lateral (SELECT *
from voice_leads vl2
WHERE vl2.listing_id = vl.listing_id
AND vl.created_at::date = vl2.created_at::date) cnt
GROUP BY vl.listing_id, vl.created_at::date
ORDER BY listing_id
您不需要子查询:
SELECT
vl.listing_id,
vl.created_at::date as dt,
count( vl.listing_id ) as cnt
FROM voice_leads vl
GROUP BY listing_id, vl.created_at::date
ORDER BY listing_id
应该做的一样。
count(field)
将计算每个组中的行数。
count(*)
将计算总行数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.