[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
	}
相关推荐
超级苦力怕8 分钟前
【超详细】Redis下载教程 (Win/Linux)
数据库
codervibe12 分钟前
MySQL 命令行连接与企业级远程访问实践(含故障排查与安全策略)
数据库·后端
AI视觉网奇15 分钟前
yolo 获取异常样本 yolo 异常
开发语言·python·yolo
散峰而望17 分钟前
C++入门(二) (算法竞赛)
开发语言·c++·算法·github
workflower17 分钟前
测试套件缩减方法
数据库·单元测试·需求分析·个人开发·极限编程
Cikiss27 分钟前
图解 MySQL JOIN
数据库·后端·mysql
沐知全栈开发33 分钟前
CSS Float(浮动)详解
开发语言
Cx330❀38 分钟前
《C++ 搜索二叉树》深入理解 C++ 搜索二叉树:特性、实现与应用
java·开发语言·数据结构·c++·算法·面试
员大头硬花生40 分钟前
六、InnoDB引擎-架构-结构
数据库·mysql·oracle
阿猿收手吧!1 小时前
【C语言】localtime和localtime_r;strftime和strftime_l
linux·c语言·开发语言