[go-zero] 子查询,使用到Squirrel包

使用到

实现sql:

SELECT count(1) FROM (SELECT 1 FROM tb_map_total WHERE deleted = 0 AND seasonId IN (1000016) AND stageIdList IN ('10008','10007') GROUP BY useMapId) AS tmp

Go 复制代码
	subBuilder := squirrel.Select("1").From(m.table).Where(squirrel.Eq{"deleted": 0})
	if len(seasonIdList) > 0 {
		subBuilder = subBuilder.Where(squirrel.Eq{"seasonId": seasonIdList})
	}
	if len(stageIdList) > 0 {
		subBuilder = subBuilder.Where(squirrel.Eq{"stageIdList": stageIdList})
	}
	subBuilder = subBuilder.GroupBy("useMapId")

	builder := squirrel.Select("count(1)").FromSelect(subBuilder, "tmp")

	sql, args, err := builder.ToSql()

	if err != nil {
		return 0
	}

	var resp int64

	err = m.conn.QueryRowCtx(ctx, &resp, sql, args...)

	switch err {
	case nil:
		return resp
	default:
		return 0
	}
相关推荐
Clarence Liu几秒前
Golang slice 深度原理与面试指南
开发语言·后端·golang
moxiaoran5753几秒前
Go语言中的切片
golang
遇印记2 分钟前
java期末复习(构造方法和成员方法,重写和重载)
java·开发语言·学习
weixin_307779132 分钟前
Jenkins声明式流水线权威指南:从Model API基础到高级实践
开发语言·ci/cd·自动化·jenkins·etl
Aevget2 分钟前
DevExtreme JS & ASP.NET Core v25.2预览 - DataGrid/TreeList全新升级
开发语言·javascript·asp.net·界面控件·ui开发·devextreme
海涛高软4 分钟前
Qt菜单项切换主界面
开发语言·qt
码界奇点5 分钟前
基于Golang与Vue3的全栈博客系统设计与实现
开发语言·后端·golang·车载系统·毕业设计·源代码管理
cui_win9 分钟前
Redis 生产环境命令管控规范
数据库·redis·缓存
呆子罗12 分钟前
原生JS请求API
开发语言·javascript·ecmascript
AI视觉网奇12 分钟前
Meta-Llama-3.1-8B-bnb-4bit 下载加载
linux·开发语言·python