Cousera クエリエラー

現在、couseraの「Google データアナリティクス プロフェッショナル認定証」を実践している。
その中で、度々クエリのエラーが出ているので、備忘録としてメモしておく。

5 .データを分析し、答えを導き出す > モジュール4 > 実践編:一時テーブルを作成する

記載内容通りにクエリを入力、実行するとエラーが出る。

実行クエリ

WITH longest_used_bike AS (
  SELECT
    bike_id,
    SUM(duration_minutes) AS trip_duration
  FROM
    bigquery-public-data.austin_bikeshare.bikeshare_trips
  GROUP BY
    bike_id
  ORDER BY
    trip_duration DESC
  LIMIT 1 
)

## 最長距離移動した自転車の出発地点を調べる 
SELECT
  trips.start_station_id,
  COUNT(*) AS trip_ct
FROM
  longest_used_bike AS longest
INNER JOIN
  bigquery-public-data.austin_bikeshare.bikeshare_trips 
ON longest.bike_id = trips.bike_id
GROUP BY
  start_station_id
ORDER BY
  trip_ct DESC
LIMIT 1

エラー

Unrecognized name: trips; Did you mean trip_id? at [22:22]

確認したところ、以下のようである。

エラーの原因は、trips がクエリ内で定義されていないためです。この名前を使っている箇所では正しいテーブルエイリアスが必要です。

ということで、修正したコードは以下。

WITH longest_used_bike AS (
  SELECT
    bike_id,
    SUM(duration_minutes) AS trip_duration
  FROM
    bigquery-public-data.austin_bikeshare.bikeshare_trips
  GROUP BY
    bike_id
  ORDER BY
    trip_duration DESC
  LIMIT 1
)

## 最長距離移動した自転車の出発地点を調べる 
SELECT
  trips.start_station_id,
  COUNT(*) AS trip_ct
FROM
  longest_used_bike AS longest
INNER JOIN
  `bigquery-public-data.austin_bikeshare.bikeshare_trips` AS trips
ON longest.bike_id = trips.bike_id
GROUP BY
  trips.start_station_id
ORDER BY
  trip_ct DESC
LIMIT 1;

これで、エラーがなく正しい値が返ってきたので、解決。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です