Google Big Query 给我“没有可显示的数据”

问题描述 投票:0回答:1

enter image description here >>> 这是我的查询的图像 我有一个超过 500000 行的数据集。 我有两列:

  • 其中一个是 start_station_name 列。
  • 二是member_casualcolumn。它显示了使用该公司自行车的两种客户类型。

我需要知道会员和临时工前十名最繁忙的出发地点。 这意味着我需要 start_station_name 在输出中分别出现两次,分别表示会员的前十个位置和休闲的前十个位置。

我的查询是正确的,但我不知道为什么我得到输出“没有可显示的数据”。

我尝试过使用和不使用“LIMIT”。 我不知道该怎么办请帮助我。

我也检查了临时表,但我被告知我需要 cte,因为我需要两个单独的列。我也检查过,我有权限,我有数据。

这是我的代码,没有错误:

WITH casual_trips AS (
  SELECT start_station_name,
  COUNT(member_casual) AS casual_trip_times
  FROM `cyclisticdataanalysis-402119.2022_Trip_Data.May2022_TripData`
  WHERE member_casual = "casual" 
  GROUP BY start_station_name
  ORDER BY COUNT(member_casual) DESC
  
)

SELECT 
Main.start_station_name,
COUNT(member_casual) AS member_trips,
casual_trips.casual_trip_times AS casual_trip
 FROM `cyclisticdataanalysis-402119.2022_Trip_Data.May2022_TripData`  AS Main
 JOIN casual_trips ON Main.start_station_name=casual_trips.start_station_name
 WHERE member_casual = "%member%"
 GROUP BY Main.start_station_name, casual_trip
 ORDER BY casual_trip DESC,
member_trips DESC
sql google-bigquery common-table-expression
1个回答
0
投票

对于通配符过滤器,请使用 like(不等于)。

WITH casual_trips AS (
  SELECT
        start_station_name
      , COUNT(member_casual) AS casual_trip
  FROM `cyclisticdataanalysis-402119.2022_Trip_Data.May2022_TripData`
  WHERE member_casual = 'casual'
  GROUP BY
        start_station_name
  ORDER BY
        COUNT(member_casual) DESC
  )

SELECT
      Main.start_station_name
    , COUNT(member_casual) AS member_trips
    , casual_trips.casual_trip
FROM `cyclisticdataanalysis - 402119.2022 _Trip_Data.May2022_TripData` AS Main
INNER JOIN casual_trips ON Main.start_station_name = casual_trips.start_station_name
WHERE member_casual like '%member%' -- use LIKE here
GROUP BY
      Main.start_station_name
    , casual_trip
ORDER BY
      casual_trip DESC
    , member_trips DESC

ps:字符串文字通常使用单引号,标识符(例如列名)使用双引号。

© www.soinside.com 2019 - 2024. All rights reserved.