Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.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
Sql 在DB2中,选择最频繁出现的表并与其他表链接_Sql_Db2_Jupyter - Fatal编程技术网

Sql 在DB2中,选择最频繁出现的表并与其他表链接

Sql 在DB2中,选择最频繁出现的表并与其他表链接,sql,db2,jupyter,Sql,Db2,Jupyter,我有两个表普查和犯罪 从crime表中,我需要找到community\u area\u number 并将犯罪的社区区域编号链接到表人口普查的社区区域编号,以获取社区区域名称 我能够完成第一步,但无法链接到另一个表。请告诉我哪里做错了。谢谢 %%sql SELECT COUNT(CR.COMMUNITY_AREA_NUMBER) AS MOST_FREQ, CR.COMMUNITY_AREA_NUMBER, CE.COMMUNITY_AREA_NAME from CRIME AS CR, CEN

我有两个表
普查
犯罪

crime
表中,我需要找到
community\u area\u number
并将
犯罪
社区区域编号
链接到表
人口普查
社区区域编号
,以获取
社区区域名称

我能够完成第一步,但无法链接到另一个表。请告诉我哪里做错了。谢谢

%%sql
SELECT COUNT(CR.COMMUNITY_AREA_NUMBER) AS MOST_FREQ, CR.COMMUNITY_AREA_NUMBER, CE.COMMUNITY_AREA_NAME from CRIME AS CR, CENSUS AS CE 

WHERE CR.COMMUNITY_AREA_NUMBER = CE.COMMUNITY_AREA_NUMBER
GROUP BY CR.COMMUNITY_AREA_NUMBER 
ORDER BY COUNT(CR.COMMUNITY_AREA_NUMBER) DESC LIMIT 1
预期产出

大多数频率、社区区域编号、社区区域名称

      43                25                     Uptown
抽样普查

样本犯罪

您正在使用聚合函数
COUNT(CR.COMMUNITY\u AREA\u NUMBER)作为MOST\u FREQ
所有其他(非聚合)返回值都需要在GROUPBY子句中


对于您的查询,它意味着尝试将
E.COMMUNITY\u AREA\u NAME
添加到GROUP BY.

您应该这样编写查询:

SELECT COUNT(*) AS MOST_FREQ, 
       CR.COMMUNITY_AREA_NUMBER, CE.COMMUNITY_AREA_NAME 
FROM CRIME CR JOIN
     CENSUS CE 
     ON CR.COMMUNITY_AREA_NUMBER = CE.COMMUNITY_AREA_NUMBER
GROUP BY CR.COMMUNITY_AREA_NUMBER, CE.COMMUNITY_AREA_NAME 
ORDER BY COUNT(*) DESC
LIMIT 1;
注意正确、明确、标准、可读的
JOIN
语法的使用。切勿在
FROM
子句中使用逗号

不过,相关的变化是将
CE.COMMUNITY\u AREA\u NAME
纳入
分组依据
。作为一般规则,所有非聚合列都应在
分组中


另外,
COUNT(*)
对于计算匹配项更简单,因此此查询使用它而不是计算列的非
NULL
值。

这与Python无关,它是一个SQL问题示例数据,所需的结果将真正帮助您的问题。感谢您的建议。在将
CE.COMMUNITY\u AREA\u NAME
添加到GROUP BY后,我添加了以下错误
对“COMMUNITY\u AREA\u NUMBER”列的引用不明确
您必须对该列进行验证-在其前面加上CE。或CR。引用要从中绘制的表感谢此操作。还没有学会加入。我会读到更多的。谢谢你让它成为现实。