簡體   English   中英

在Postgresql中選擇多個具有別名的列並按別名分組

[英]select multiple columns with alias and group by alias in Postgresql

我對此查詢有疑問。 我想選擇ID字段,然后日期時間戳字段具有別名,但按別名分組。 如果不包括ID字段,我將無法做到這一點,但是那樣就無法保持group by提供的唯一性。 這是我的查詢不起作用。 我收到有關需要包含ID字段的錯誤。

SELECT id, to_timestamp(start_date)::date as sdate FROM events WHERE end_date > 1349306845 GROUP BY sdate ORDER BY sdate ASC LIMIT 20

更新:使用下面的函數后,它可以根據需要工作。

   SELECT max(id) as id, to_timestamp(start_date)::date as sdate FROM events WHERE end_date > 1349306845 GROUP BY sdate ORDER BY sdate ASC LIMIT 20
SELECT  id, to_timestamp(start_date)::date as sdate 
FROM events
WHERE start_date IN 
   (
     SELECT start_date as sdat 
     FROM events 
     WHERE end_date > 1349306845 
     GROUP BY sdat 
     ORDER BY sdat 
     ASC LIMIT 20 
   )

SELECT  id, to_timestamp(start_date)::date as sdate 
FROM events
WHERE start_date IN 
   (
     SELECT start_date as sdat 
     FROM events 
     WHERE end_date > 1349306845 
     GROUP BY sdat 
   )
ORDER BY sdate 
ASC LIMIT 20 

暫無
暫無

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

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