获取前20名mysql查询错误
尝试获得:前20名获得最多奖项的法律专业人士,以及他们所属的大学 Mysql:从tbl中选择奖励、pi、组织,其中groupbyaward限制为20 表:获取前20名mysql查询错误,mysql,Mysql,尝试获得:前20名获得最多奖项的法律专业人士,以及他们所属的大学 Mysql:从tbl中选择奖励、pi、组织,其中groupbyaward限制为20 表: 它似乎不喜欢我的小组。这里出了什么问题?您需要对一些内容进行分组,以下是您尝试执行的操作: SELECT distinct award, pi, org FROM tbl LIMIT 20; 不能在group by查询中包含非聚合列的列,即计数或不属于分组的一部分-这应该可以: SELECT count(*) as ArwardCoun
它似乎不喜欢我的小组。这里出了什么问题?您需要对一些内容进行分组,以下是您尝试执行的操作:
SELECT distinct award, pi, org FROM tbl LIMIT 20;
不能在group by查询中包含非聚合列的列,即计数或不属于分组的一部分-这应该可以:
SELECT count(*) as ArwardCount, pi
FROM tbl
GROUP BY pi
ORDER BY ArwardCount desc
LIMIT 0, 20;
与
您将得到SQL错误1305:函数xxx.groupby不存在
相反,假设pi是唯一的,并且org在同一个表中是非规范化的,则需要下面的代码
SELECT pi, org, count(award) awardcount
FROM tbl
GROUP BY pi, org
ORDER BY awardcount DESC
LIMIT 20;
如果您使用groupby帮助解决我的问题,您需要聚合一些内容。我甚至没有听说过groupby函数;它有什么作用?与GROUPBY子句不同的是,gaah我想我使用SQL Server的时间太长了-
SELECT pi, org, count(award) awardcount
FROM tbl
GROUP BY pi, org
ORDER BY awardcount DESC
LIMIT 20;