【发布时间】:2020-07-30 04:16:44
【问题描述】:
我需要按邮政编码、月、年计算记录和分组。我当前的sql:
select
Property_Zip
, count(Distinct Listing_Tracking_ID) LISTINGCOUNT
, round(avg( Current_Listing_Price), 2) AVGPRICE
, FORMAT_DATE('%m', Current_Original_Listing_Date) MONTH
, FORMAT_DATE('%Y', Current_Original_Listing_Date) YEAR
from `PROJECT.DS.TABLE`
group by Property_Zip
, FORMAT_DATE('%m', Current_Original_Listing_Date)
, FORMAT_DATE('%Y', Current_Original_Listing_Date)
我的问题是,月份和年份的结果都是空值。我的问题是我在标准 SQL 中找不到 month() 函数。
我该怎么做? 谢谢!
#更新日期 1 试过这个:
select
Property_Zip
, count(Distinct Listing_Tracking_ID) LISTINGCOUNT
, round(avg( Current_Listing_Price), 2) AVGPRICE
, EXTRACT(MONTH FROM Current_Original_Listing_Date) MONTH
, EXTRACT(YEAR FROM Current_Original_Listing_Date) YEAR
from `mother-216719.VALUATION.MLS`
group by Property_Zip, DATE_TRUNC(Current_Original_Listing_Date, MONTH)
错误:SELECT 列表表达式引用了 Current_Original_Listing_Date 列,该列在 [5:24] 既不分组也不聚合
【问题讨论】:
-
你不能在一个 /same 查询中结合我的答案中的不同方法 - 你使用 EXTRACT 或 DATE_TRUNC !!!
-
好的。按月份和年份分组时如何获取月份和年份?
-
在我的回答中看到 - 我刚刚添加了它 - 抱歉,我认为这很明显,所以我最初跳过显示整个查询
标签: google-bigquery