亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PostgreSQL 實現(xiàn)distinct關(guān)鍵字給單獨的幾列去重

 更新時間:2021年01月11日 09:19:01   作者:cells-0  
這篇文章主要介紹了PostgreSQL 實現(xiàn)distinct關(guān)鍵字給單獨的幾列去重,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

PostgreSQL去重問題一直困擾著我,distinct和group by遠不如MySQL用起來隨便,但是如果掌握了規(guī)律,還是和MySQL差不多的

主要介紹的是distinct關(guān)鍵字

select distinct id,name,sex,age from student

假如有一張student表,字段如上圖,我查詢student表中所有信息用distinct去重(上面的SQL語句),pgsql就會根據(jù)所有的字段通過算法取得重復(fù)行的第一行,但是很明顯,ID這個字段我在設(shè)計的時候不會讓它重復(fù),所以相當于沒有去重

我想只根據(jù)name和age去重怎么辦?

可以這么寫

select distinct on (name,age) id,name,sex,age from student

這樣就會只根據(jù)name和age去重了

總結(jié)一下:

distinct on (),括號里面的內(nèi)容是要去重的列,括號外面的內(nèi)容是你要查詢展示的列,兩者沒有關(guān)系,你可以根據(jù)某些列去重不必將他們查詢出來,最后這個舉一個例子就是:

我要查詢name和age,根據(jù)name和sex去重:

select distinct on (name,sex) name,age from student

補充:PostgreSQL按照某一字段去重,并顯示其他字段信息

以前遇到去重的地方更多的是MySQL去重后統(tǒng)計,比如select count(distinct 字段) from 表,后來臨時遇到用Postgresql查詢?nèi)啃畔ⅲ獙δ硞€字段去重,查資料發(fā)現(xiàn)select * from table group by 要去重的字段,在MySQL上可以用,就搬到Postgresql試一下發(fā)現(xiàn)不行,又Google一番,終于找到一種方案:select distinct on(字段) * from 表,就可以了。

如下圖:

對name字段去重后再查詢?nèi)孔侄危?/p>

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

最新評論