it keeps bringing this statement 'SELECT list expression references column stn which is neither grouped nor aggregated'
This is the query
SELECT stn, date, AVG(TEMP), FROM 'bigquery-public-data.noaa_gsod.gsod2020' WHERE stn="725030" OR stn="744860" AND date BETWEEN'2020-7-1'AND '2020-7-30'
Tried to run a query and was expecting a result but could not get it
CodePudding user response:
an avg function requires a group by.
You should group by the first 2 columns in order to find an avg for the same stn/date example of group query
SELECT stn, date, AVG(TEMP)
FROM 'bigquery-public-data.noaa_gsod.gsod2020'
WHERE stn="725030" OR stn="744860" AND date BETWEEN'2020-7-1'AND '2020-7-30'
group by 1,2
CodePudding user response:
You need to group the data. As soon as an aggregation function, such as AVG is used, the other columns need to be listed after the group by.
SELECT
stn,
date,
AVG(TEMP),
FROM
`bigquery-public-data.noaa_gsod.gsod2020`
WHERE
stn="725030"
OR stn="744860"
AND date BETWEEN'2020-7-1'AND '2020-7-30'
GROUP BY 1,2 # 1st and 2nd column are dimension for the AVG-function
