MYSQL cartodb 中的 GROUP BY 错误

MYSQL GROUP BY error in cartodb

我正在使用 carto 来尝试可视化一些 geoJSON。 Carto 将所有这些数据放入 MYSQL 数据库中,供您查询并在地图上显示。了解这些可能会有所帮助,但对于解决我的问题可能并不重要。

重要的列是 cartodb_idthe_geomstate

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 子句中。