MYSQL cartodb 中的 GROUP BY 错误
MYSQL GROUP BY error in cartodb
我正在使用 carto 来尝试可视化一些 geoJSON。 Carto 将所有这些数据放入 MYSQL 数据库中,供您查询并在地图上显示。了解这些可能会有所帮助,但对于解决我的问题可能并不重要。
重要的列是 cartodb_id
、the_geom
和 state
table 名字是 mcdonalds
当我 select 来自麦当劳 table 时,我想按州对所有结果进行分组。这是我当前的查询:
SELECT * FROM mcdonalds GROUP BY state;
我收到这个错误:
Syntax error: column "mcdonalds.cartodb_id" must appear in the GROUP BY clause or be used in an aggregate function
我对 SQL 不是很熟悉,但从我在这里看到的情况来看,我需要再做一个 select 并加入 table 吗?我尝试了一些变体,希望这对某人来说是一个简单的答案。
要修正你的错误你必须做
SELECT * FROM mcdonalds GROUP BY state, cartodb_id, the_geom;
SELECT 语句中的每一列都必须在 GROUP BY 子句中。
我正在使用 carto 来尝试可视化一些 geoJSON。 Carto 将所有这些数据放入 MYSQL 数据库中,供您查询并在地图上显示。了解这些可能会有所帮助,但对于解决我的问题可能并不重要。
重要的列是 cartodb_id
、the_geom
和 state
table 名字是 mcdonalds
当我 select 来自麦当劳 table 时,我想按州对所有结果进行分组。这是我当前的查询:
SELECT * FROM mcdonalds GROUP BY state;
我收到这个错误:
Syntax error: column "mcdonalds.cartodb_id" must appear in the GROUP BY clause or be used in an aggregate function
我对 SQL 不是很熟悉,但从我在这里看到的情况来看,我需要再做一个 select 并加入 table 吗?我尝试了一些变体,希望这对某人来说是一个简单的答案。
要修正你的错误你必须做
SELECT * FROM mcdonalds GROUP BY state, cartodb_id, the_geom;
SELECT 语句中的每一列都必须在 GROUP BY 子句中。