我想获得最大的对应字段。因此,我想展示该市犯罪率最高的实际犯罪。

这是我尝试过的。我不确定我是否使用正确的情况。

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/

10-09 19:39