繁体   English   中英

列 'City.Name' 在 select 列表中无效,因为它不包含在聚合 function 或 GROUP BY 子句中

[英]Column 'City.Name' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause

我尝试了以下 SQL 查询,它给出了以下错误:

Select TOP 1 CITY,MAX(LEN(CITY)) 
from STATION 
ORDER BY CITY ASC

错误

列 'STATION.CITY' 在 select 列表中无效,因为它不包含在聚合 function 或 GROUP BY 子句中。

桌子:

CREATE TABLE City (
  ID Integer NOT NULL,
  PRIMARY KEY (ID),
  Name VARCHAR (255),
  CountryCode VARCHAR (255),
  District VARCHAR (255),
  PopulationofCity Integer
);

你必须按组城市

 Select TOP 1 CITY,MAX(LEN(CITY)) 
 from STATION group by CITY
 ORDER BY CITY ASC

您缺少 group by 子句

Select TOP 1 CITY,MAX(LEN(CITY)) from STATION 
group by city
ORDER BY CITY ASC

您可能正在寻找最长的城市名称。

然后按长度降序排列

SELECT TOP 1 CITY, LEN(CITY)
FROM STATION
GROUP BY CITY
ORDER BY LEN(CITY) DESC

这会有帮助吗?

SELECT TOP 1 * FROM (
SELECT DISTINCT CITY,LEN(CITY) AS CITYLENGTH FROM STATION ) A ORDER BY A.CITYLENGTH DESC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM