![](/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.