[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
	}
相关推荐
qq_455760854 小时前
redis - 集群
数据库·redis·缓存
Li_7695324 小时前
Redis 进阶(五)—— 哨兵
数据库·redis·缓存
困知勉行19854 小时前
Redis大key处理
数据库·redis·缓存
拾荒的小海螺4 小时前
C#:PdfiumViewer 高效解析和操作 PDF 的技术指南
开发语言·pdf·c#
人道领域4 小时前
【零基础学java】(方法引用)
java·开发语言
Macbethad4 小时前
TwinCAT半导体设备IO Simulator技术方案
开发语言
扑火的小飞蛾4 小时前
oracle SR模板参考
数据库·oracle
搬砖的kk5 小时前
openJiuwen 快速入门:使用华为云大模型搭建 AI 智能体
数据库·人工智能·华为云
哆啦code梦5 小时前
一文认识Redis
数据库·redis·缓存
路漫聊架构5 小时前
Redis扫描大key利器Scan命令探秘
java·数据库·redis