如何用distinct消除重復記錄的同時又能選取多個字段值?


如何用distinct消除重復記錄的同時又能選取多個字段值?

需求是:我要消除name字段值重復的記錄,同時又要得到id字段的值,其中id是自增字段。
select distinct name from t1 能消除重復記錄,但只能取一個字段,現在要同時取id,name這2個字段的值。
select distinct id,name from t1 可以取多個字段,但只能消除這2個字段值全部相同的記錄
最后解決方法:
SELECT id,name FROM t1 WHERE id IN(SELECT MAX(id) FROM t1 GROUP BY name) order by id desc

注意開頭的 id 的 一定要,后面的order by 里有的字段一定要加進select 結果,要不然排序無效


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM