SQL:辨識每個分組中具有最大值的記錄
假設有一個表格包含三個欄位(名稱、最高值和總計)以及數據,任務是檢索每個不同名稱中總計值最高的記錄。
解:
以下查詢傳回所需結果:
<code class="language-sql">SELECT Name, Top, Total FROM sometable WHERE Total = (SELECT MAX(Total) FROM sometable i WHERE i.Name = sometable.Name);</code>
替代方案:
另一種方法是使用子查詢尋找每個名稱的最大總計值,然後將結果與原始表連接以檢索相應的記錄:
<code class="language-sql">SELECT Name, Top, Total FROM sometable INNER JOIN ( SELECT MAX(Total) AS Total, Name FROM sometable GROUP BY Name ) AS max ON max.Name = sometable.Name AND max.Total = sometable.Total;</code>
以上是SQL如何找出每組中最大值的記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!