[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
	}
相关推荐
AI精钢3 分钟前
Claude Certification 出现了一道“官方文档级”错题:关于 Claude Code Skills 优先级的误导
java·开发语言·工程实践·claude code·ai coding·agent skills·技术认证
PD我是你的真爱粉23 分钟前
MySQL 锁机制:从理论分类到死锁实战
数据库·mysql·adb
jwn99924 分钟前
PHP vs C:语言特性与应用场景对比
c语言·开发语言·php
不想看见40427 分钟前
在AI时代下,刷LeetCode题的价值与意义
开发语言·c++·qt
jwn99928 分钟前
PHP与C++:Web脚本与系统编程的终极对决
java·开发语言
hnlgzb30 分钟前
Companion Object - 伴生对象 类比java中的什么?
java·开发语言
T0uken30 分钟前
【Python】uvpacker:跨平台打包 Windows 应用
开发语言·python
我还为发觉35 分钟前
2026 PHP入门到精通全实操(环境部署+框架实战)
开发语言·php
会飞的大可35 分钟前
Redis 故障排查与应急手册:从理论到实践
数据库·redis·缓存