2017-08-01 110 views
0

隨着我的新工作,我需要越來越多地使用SQL。因爲我需要刪除重複列我認爲使用DISTINCT聲明是最好的。不過,我曾指出,MIN MAX聲明可能更適合。由於我對SQL還是比較陌生,所以我想知道是否可以在什麼時候使用其他的方法。所有幫助表示讚賞!在MySQL的DISTINCT上使用MIN MAX查詢?

在此先感謝!

回答

2

這是有點長的評論。

首先,構造是select distinct,而不僅僅是distinct。這是一個重要的區別,而學習SQL的人往往會混淆。

二,select distinctmin()/max()做不同的事情。後者是聚合功能,應與group by一起使用。

在我看來,select distinct是SQL語言中不必要的部分。幾乎所有的事情都可以通過group by來處理。學習正確使用group by會更好。 (而且,作爲一個側面說明,select distinct幾乎與group by永遠有用。)

+0

你是這裏的專家,但我不同意選擇明顯不有用。我經常使用它。有時讀程序員比使用group by更合乎邏輯。小組可以做一切選擇不同的罐頭,但扳手偶爾也可以製作出相當不錯的鐵錘。 – SandPiper

+0

我也不同意不同意不用。對我來說,說**從雙重**選擇不同的虛擬物比說**從雙重虛擬**選擇虛擬物要清楚得多。清晰永遠是重要的。 –

+0

@SandPiper。 。 。我沒有說「沒用」,我說「不必要」。在'select distinct *'之外的所有情況下,它都被一個'group by'取代。 –

0

最大值和最小值都返回一個結果,而DISTINCT回報所有唯一值(一個記錄與最大或最小值)(避免重複)。