当有复杂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的参数是一个结构体引用,所以一定要定义好结构体接收数据才行

 

精彩文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。