我有我使用的嘗試和理解SQL MAX()超過()功能如下一個簡單的查詢:SQL MAX()以上(分區)返回多個結果
select *, max(mt.version) over (partition by mt.version)
from myTable mt
where mt.id = 'some uuid';
編輯:這個概念對我來說是新的,所以我不確定它應該做什麼。我沒有特定的數據集,我只是試圖通過提出自己的示例來了解代碼的作用。
我不明白的是我得到了多行數據集。我認爲max()over(partition by x)功能應該返回基於max函數的單個結果。請有人解釋爲什麼我會得到超過1個結果。我在不同的桌子上試過這個,它工作正常,但在另一張桌子上它不起作用。
那麼,對於'mt.version'的每個不同值,你只取一個最大值......實際上,由於你正在使用'mt.version'的最大值並通過'mt.version'分區它, ,我不認爲你會得到任何新的數據。你究竟在嘗試做什麼? – 2013-07-29 22:34:36
如果你不知道它幹了什麼,你爲什麼要用'over'?這是可選的,你知道嗎?它看起來像你只想'max'沒有'over(partition by)' – Blorgbeard
我正在玩弄它,正如問題中所建議的那樣,「理解...功能」。我在網上看到類似的東西,並試圖弄清楚它做了什麼。因此,當我不知道它做什麼時使用它......這就是你如何學習不是它? –