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

昨天小编面试遇到了一道面试题,sql去重,题目如下:

要实现的效果如下:

当时小编第一眼分析就想到用distinct这个去重,然后就写上去了,但是最后错了,我是这么写的:

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

 因为当时我确定SELECT DISTINCT `name`,`value` from test是正确的,但是要显示出id就有点困难了,因为时间有限就没多想就把上面的sql写上去了,结果不出意料的错了。

回家后仔细想了一下,才发现,distinct去重原理是:去重的字段都一致才能去重,只要有一个不一致去重就不能实现,这里的id没有重复的。所以就我写的那条sql根本就没有去重,所以说这里使用distinct就不能实现去重查询了。

最后小编反复思考后是这样 实现的:

 

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