界外篇:面試遇到的sql去重

昨天小編面試遇到了一道面試題,sql去重,題目如下:

要實現的效果如下:

當時小編第一眼分析就想到用distinct這個去重,然後就寫上去了,但是最後錯了,我是這麼寫的:

SELECT DISTINCT id,`name`,`value` from test

 因爲當時我確定SELECT DISTINCT `name`,`value` from test是正確的,但是要顯示出id就有點困難了,因爲時間有限就沒多想就把上面的sql寫上去了,結果不出意料的錯了。

回家後仔細想了一下,才發現,distinct去重原理是:去重的字段都一致才能去重,只要有一個不一致去重就不能實現,這裏的id沒有重複的。所以就我寫的那條sql根本就沒有去重,所以說這裏使用distinct就不能實現去重查詢了。

最後小編反覆思考後是這樣 實現的:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章