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