[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
	}
相关推荐
伤不起bb1 分钟前
Redis 哨兵模式
数据库·redis·缓存
卑微的Coder2 分钟前
Redis Set集合命令、内部编码及应用场景(详细)
java·数据库·redis
2501_915373883 分钟前
Redis线程安全深度解析:单线程模型的并发智慧
数据库·redis·安全
呼拉拉呼拉6 分钟前
Redis知识体系
数据库·redis·缓存·知识体系
霖檬ing7 分钟前
Redis——主从&哨兵配置
数据库·redis·缓存
C++ 老炮儿的技术栈1 小时前
UDP 与 TCP 的区别是什么?
开发语言·c++·windows·算法·visual studio
wgslucky1 小时前
Dubbo报错:module java.base does not “opens java.lang“ to unnamed module
java·开发语言·dubbo
whyeekkk2 小时前
python打卡第48天
开发语言·python
DougLiang3 小时前
关于easyexcel动态下拉选问题处理
java·开发语言
卜及中3 小时前
【Redis/2】核心特性、应用场景与安装配置
数据库·redis·缓存