[Go] gorm执行原生sql语句
当有复杂sql语句的时候,我们需要执行原生sql语句,这样更加方便
比如下面的这条sql语句
//查询每天条数 type EveryDayNum struct { Day string `json:"day"` Num int64 `json:"num"` } func CountVisitorsEveryDay(toId string) []EveryDayNum { var results []EveryDayNum DB.Raw("select DATE_FORMAT(updated_at,'%Y-%m-%d') as day ,"+ "count(*) as num from visitor where to_id=? group by day order by day desc limit 30", toId).Scan(&results) return results }
只需要拿着数据库对象去.Raw(原生sql).Scan()就可以了
Scan的参数是一个结构体引用,所以一定要定义好结构体接收数据才行
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网