找出分組資料的最大值
給定一個包含多個列的表,一個常見的任務是識別特定組內的最大值。在提供的範例中,我們有與泵浦(泵浦1 和泵浦2)相關的數據,具有不同的值和一個附加列(AnotherColumn) 。目標是檢索每個幫浦的最大值。
一種方法可能涉及使用子查詢按名稱列分組選擇最大值:
<code class="language-sql">select name, max(value) as value from out_pumptable group by name</code>
但是,如同問題中所提到的,如果某個群組(在本例中,泵浦1 有兩個具有相同最大值的條目)存在多個最大值,則此方法可能會傳回重複的條目。
為了解決這個問題,可以使用 DISTINCT 關鍵字來確保只回傳不同的最大值:
<code class="language-sql">select name, max(value) as value from out_pumptable group by name having max(value) not in (select value from out_pumptable group by value having count(*) > 1)</code>
此修改檢查最大值在整個表中是否唯一(使用子查詢)。如果該值不唯一,則將其從結果中排除。這種方法更準確地表示每個泵浦的最大值。
以上是如何找出表中分組資料的唯一最大值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!