私はBigQueryで作業しています。私は住所、郵便番号、価格と日付のフィールドを持っているテーブルt1
を持っています。私はこれを住所と郵便番号でグループ化し、各住所の最新の行の価格を見つけます。BigQueryで最新の行の属性を取得しますか?
BigQueryでこれを行うにはどうすればよいですか?
SELECT
ADDRESS, POSTCODE, MAX(DATE)
FROM
[mytable]
GROUP BY
ADDRESS,
POSTCODE
しかし、私は、これらのフィールドに一致するこれらの行の価格を取得する方法がわからない:私は住所、郵便番号、最新の日付を取得する方法を知っています。これは私の最高の推測ですが、これは結果を生み出します - これは正しいでしょうか?それが動作するはずのよう
SELECT
t1.address, t1.postcode, t1.date, t2.price
FROM [mytable] t2
JOIN
(SELECT
ADDRESS, POSTCODE, MAX(DATE) AS date
FROM
[mytable]
GROUP BY
ADDRESS,
POSTCODE) t1
ON t1.address=t2.address
AND t1.postcode=t2.postcode
AND t1.date=t2.date
これは私には思われるが、similar questionsのいくつかははるかに複雑なソリューションを持っています。
フム以下のようにダミーデータでそれをテストすることができBigQueryの標準SQLについては、以下を試してみてください? – Richard