[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_406176148 分钟前
详解Vue中的计算属性(computed)和观察属性(watch)
开发语言·前端·javascript·vue.js·前端框架
xiaoye37088 分钟前
动态代理的使用场景与适用时机
java·数据库·sql
小付同学呀9 分钟前
C语言学习(九)——C判断三元运算符
c语言·开发语言·学习
nananaij15 分钟前
【LeetCode-01 两数之和 python解法】
开发语言·python·算法·leetcode
椰猫子15 分钟前
数据库MySQL
数据库
一直都在57218 分钟前
新Java基础(二十五):异常类
java·开发语言
哈__20 分钟前
告别复杂 SQL 性能瓶颈!金仓智能下推技术的实战解析
数据库·sql
源远流长jerry21 分钟前
dpdk19.08编译问题解决方案
数据库·postgresql·sqlserver
微学AI23 分钟前
复杂查询中 JOIN 条件下推失败导致的性能瓶颈-金仓数据库
数据库
Z9fish24 分钟前
sse哈工大C语言编程练习42
c语言·开发语言·算法