Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取前20名mysql查询错误_Mysql - Fatal编程技术网

获取前20名mysql查询错误

获取前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

尝试获得:前20名获得最多奖项的法律专业人士,以及他们所属的大学

Mysql:从tbl中选择奖励、pi、组织,其中groupbyaward限制为20

表:


它似乎不喜欢我的小组。这里出了什么问题?

您需要对一些内容进行分组,以下是您尝试执行的操作:

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;