gorm去重查詢 iris框架


寫練習 demo 時遇到需要進行去重查詢,gorm沒有db.distinct()的寫法

// 數據庫的表字段
type Pro_location_relation struct {
	Id int64
	Provicename string
	Cityname string
	Areaname string
}

  

func (cs *Case)Queryprovice(){
	province := []rejo.Pro_location_relation{}

	databases.InitGDB().Raw("select DISTINCT(provicename) from pro_location_relation").Find(&province)
	
	fmt.Println(province)
}

  查詢結果如下

 

 

使用原生sql語句,db.Raw("sql  string").Find(&var),var必須是結構體

 

使用gorm的pluck方法重寫

func (cs *Case)Queryprovice(){
	province := []rejo.Pro_location_relation{}
	proname := []string{}
	databases.InitGDB().Debug().Group("provicename").Select("provicename").Find(&province).Pluck("provicename",&proname)
	fmt.Println(proname)
}

  輸出結果:

使用db.Group("字段").Select("字段").Find(&var).Pluck("字段",&var1),這樣var1就可以不是結構體了,var還是結構體

 

自用筆記,僅供參考


免責聲明!

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



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