隨着我的新工作,我需要越來越多地使用SQL。因爲我需要刪除重複列我認爲使用DISTINCT
聲明是最好的。不過,我曾指出,MIN MAX
聲明可能更適合。由於我對SQL還是比較陌生,所以我想知道是否可以在什麼時候使用其他的方法。所有幫助表示讚賞!在MySQL的DISTINCT上使用MIN MAX查詢?
在此先感謝!
隨着我的新工作,我需要越來越多地使用SQL。因爲我需要刪除重複列我認爲使用DISTINCT
聲明是最好的。不過,我曾指出,MIN MAX
聲明可能更適合。由於我對SQL還是比較陌生,所以我想知道是否可以在什麼時候使用其他的方法。所有幫助表示讚賞!在MySQL的DISTINCT上使用MIN MAX查詢?
在此先感謝!
這是有點長的評論。
首先,構造是select distinct
,而不僅僅是distinct
。這是一個重要的區別,而學習SQL的人往往會混淆。
二,select distinct
和min()
/max()
做不同的事情。後者是聚合功能,應與group by
一起使用。
在我看來,select distinct
是SQL語言中不必要的部分。幾乎所有的事情都可以通過group by
來處理。學習正確使用group by
會更好。 (而且,作爲一個側面說明,select distinct
幾乎與group by
永遠有用。)
最大值和最小值都返回一個結果,而DISTINCT回報所有唯一值(一個記錄與最大或最小值)(避免重複)。
你是這裏的專家,但我不同意選擇明顯不有用。我經常使用它。有時讀程序員比使用group by更合乎邏輯。小組可以做一切選擇不同的罐頭,但扳手偶爾也可以製作出相當不錯的鐵錘。 – SandPiper
我也不同意不同意不用。對我來說,說**從雙重**選擇不同的虛擬物比說**從雙重虛擬**選擇虛擬物要清楚得多。清晰永遠是重要的。 –
@SandPiper。 。 。我沒有說「沒用」,我說「不必要」。在'select distinct *'之外的所有情況下,它都被一個'group by'取代。 –