我想获得最大的对应字段。因此,我想展示该市犯罪率最高的实际犯罪。
这是我尝试过的。我不确定我是否使用正确的情况。
SELECT b.boroughName,
actualOffence( CASE WHEN MAX(c.crimeCount)), (c.crimeCount)
FROM FYP_Borough b
JOIN FYP_Crime c
ON b.boroughID=c.boroughID
JOIN FYP_Offence o
ON c.offenceID=o.offenceID
GROUP BY b.boroughName
最佳答案
您必须在子查询中获取每个crimeCount
的最大boroughname
,然后相应地join
。如果我正确地理解了您的数据结构,则应该可以:
SELECT b.boroughName,
o.actualOffence,
c.crimeCount
FROM (SELECT b2.boroughID, b2.boroughname, max(c2.crimecount) maxcrimecount
FROM FYP_Borough b2
JOIN FYP_Crime c2 ON b2.boroughID=c2.boroughID
GROUP BY b2.boroughID, b2.boroughName
) b JOIN FYP_Crime c ON b.boroughID=c.boroughID AND b.maxcrimecount = c.crimecount
JOIN FYP_Offence o ON c.offenceID=o.offenceID
关于mysql - MySQL查询最大值对应字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35778967/