2016-05-27 6 views
1

fh-bigquery:weather_gsodデータセットを使用して、特定の国のすべてのステーションの月間気象データを取得したいとします。つまり、私は1929年から現在まで毎月の平均気温、月間平均気温、月間平均気温を求めています。BigQueryを使用して月ごとにAVG Tempを取得しますか?

この私は1つのテーブルから、私は必要なものを取得するために書いたものを、私が手2015年のデータが正しいようだ:

SELECT stn, FIRST(name) AS station_name, mo, (AVG(temp)-32)*0.5556 AS temp, (AVG(max)-32)*0.5556 AS max, (AVG(min)-32)*0.5556 AS min 
FROM [fh-bigquery:weather_gsod.gsod2015] gsod 
JOIN [fh-bigquery:weather_gsod.stations2] stations 
ON gsod.wban=stations.wban AND gsod.stn=stations.usaf 
WHERE country='SA' 
GROUP BY stn, mo 
ORDER BY mo 

は、このクエリが実際にどのように私はそれを書き換えることができ、私は必要な情報を取得しないと仮定すると、私は全体の範囲(1929年から2016年)を含めることができますか?

答えて

2

あなたは以下

SELECT 
    stn, 
    FIRST(name) AS station_name, 
    mo, 
    (AVG(temp)-32)*0.5556 AS temp, 
    (AVG(max)-32)*0.5556 AS max, 
    (AVG(min)-32)*0.5556 AS min 
FROM (
    SELECT * FROM 
    (TABLE_QUERY([fh-bigquery:weather_gsod], 'table_id CONTAINS "gsod"')) 
) gsod 
JOIN [fh-bigquery:weather_gsod.stations2] stations 
ON gsod.wban=stations.wban AND gsod.stn=stations.usaf 
WHERE country='SA' 
GROUP BY stn, mo 
ORDER BY mo 
+0

優秀で、このためTable wildcard functionsを使用する必要があります。ありがとうございました!クイックフォローアップ:データが返された年が必要な場合は、「GROUP BY stn、year、mo'」と書いた方が正しいでしょう。 – iTurki

+0

はい、 'SELECT'に' year'を追加する必要があります –

関連する問題