2016-03-03 97 views
1

我想獲取最大值的相應字段。所以我想展示在該區域犯罪率最高的實際緊急情況。Mysql查詢最大值對應字段

這是我試過的。林不知道我是否正確使用案例。

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 
+0

什麼是'actualOffence'列?一個函數? –

+0

是它的一列 – armze3

回答

0

你必須得到每boroughname最大crimeCount子查詢,然後相應地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 
+0

它說''on子句'中的未知列'b.boroughID' – armze3

+0

@ armze3 - 我在5分鐘前編輯了我的答案 - 你是否嘗試更新?我最初離開子列查詢列,但注意到我發佈答案後... – sgeddes

+0

是的,現在的工作,謝謝你 – armze3