[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
	}
相关推荐
corpse20104 分钟前
trae下载依赖包特别慢!!!
开发语言·python
Billow_lamb16 分钟前
redis 中 redisTemplate 的所有操作与函数
数据库·redis·缓存
rainFFrain17 分钟前
QT显示类控件---QSlider
开发语言·qt
dragoooon3417 分钟前
[C++——lesson30.数据结构进阶——「红黑树」]
开发语言·数据结构·c++
云泽80818 分钟前
C++ STL 栈与队列完全指南:从容器使用到算法实现
开发语言·c++·算法
testpassportcn21 分钟前
Cisco 300-540 SPCNI 認證考試介紹(CCNP Service Provider 專業考試)
网络·数据库
郑州光合科技余经理31 分钟前
实战:攻克海外版同城生活服务平台开发五大挑战
java·开发语言·javascript·数据库·git·php·生活
蟹至之32 分钟前
【MySQL】JDBC的使用(万字解析)
java·数据库·mysql·jdbc
长孙阮柯35 分钟前
Java进阶篇(五)
java·开发语言
⑩-1 小时前
Blocked与Wati的区别
java·开发语言