2020/05/06

GCP: Bigquery 関数でGROUP BYしようとするとエラーがでる --- bq


  • Goal
    Bigqueryで、Timestamp のデータをdate(日付)にグループ化&集計し、日付の新しいもの順にソートをしたい
  • How
    例1) グループ化して集計は、OK
    SELECT date(timestamp),count(1)
    FROM xxxxxxxxxxx
    GROUP BY date(timestamp)

    例2) 日付の新しいもの順に並べようとしたら。。。
    SELECT date(timestamp),count(1)
    FROM xxxxxxxxxxx
    GROUP BY date(timestamp)
    ORDER BY date(timestamp) DESC

    実行すると、エラー。。。
    SELECT list expression references column timestamp which is neither grouped nor aggregated at [1:13]

    例3) 別名(alias)付けると、エラーはでない。
    SELECT date(timestamp) as TARGET_DATE, count(1)
    FROM xxxxxxxxxxx
    GROUP BY TARGET_DATE
    ORDER BY TARGET_DATE DESC
  • 編集後記
    しょうもない事で、時間を潰してしまったので、メモ。。。
    GROUP BYだけならOKで、ORDER BYを付けるとNG。
    これって結構常識なんでしょうか?しらんかった。

0 件のコメント:

コメントを投稿