Sql 如何在一个报表中合并两个查询计算最大值
我有一个表(Sql 如何在一个报表中合并两个查询计算最大值,sql,ms-access,report,Sql,Ms Access,Report,我有一个表(table1),其中包含: 副县名, 县名称,malepop(每个子县),femalepop(每个子县) 我想做一份报告,告诉我该县男性和女性人口最多的子县 我所尝试的: 我创建了两个查询,一个用于计算男性流行率最高的子县,另一个用于计算女性流行率最高的子县。然而,我不知道如何将这两种情况合并成一份报告。我能得到一个如何做的提示吗 我使用的查询有: SELECT Sub_county_name,county_name,male_pop FROM table1 WHERE male_p
table1
),其中包含:
副县名,
县名称,malepop(每个子县),femalepop(每个子县)
我想做一份报告,告诉我该县男性和女性人口最多的子县
我所尝试的:
我创建了两个查询,一个用于计算男性流行率最高的子县,另一个用于计算女性流行率最高的子县。然而,我不知道如何将这两种情况合并成一份报告。我能得到一个如何做的提示吗
我使用的查询有:
SELECT Sub_county_name,county_name,male_pop
FROM table1
WHERE male_pop = (SELECT MAX(male_pop) FROM table1 a
WHERE a.county_name = table1.county_name);
SELECT Sub_county_name,county_name,female_pop
FROM table1
WHERE female_pop = (SELECT MAX(female_pop) FROM table1 a
WHERE a.county_name = table1.county_name);
如果需要组合查询,可以使用以下查询获得:
SELECT Sub_county_name, county_name, male_pop, female_pop
FROM table1
WHERE (male_pop =
(SELECT MAX(male_pop) AS Expr1
FROM table1 AS a
WHERE (county_name = table1.county_name))) AND (female_pop =
(SELECT MAX(female_pop) AS Expr1
FROM table1 AS a
WHERE (county_name = table1.county_name)))
我建议将子查询放入
FROM
子句中:
SELECT table1.*
FROM table1 JOIN
(SELECT county_name, MAX(male_pop) as maxmp, MAX(female_pop) as maxfp
FROM table1
GROUP BY county_name
) m
ON table1.county_name = m.county_name and
(table1.male_pop = m.maxmp OR table1.female_pop = m.maxfp);
或者这两个WHERE从句在一起?我想OP想要或代替AND。