[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
	}
相关推荐
奈葵2 分钟前
MySQL表的增删改查(2)
数据库·mysql
RickyWasYoung5 分钟前
基于matlab的单目相机标定
开发语言·数码相机·matlab
小陈phd5 分钟前
QT从入门到精通(二) ——信号与槽机制
开发语言·数据库·qt
2201_759154888 分钟前
Linux应用开发————mysql数据库
数据库·mysql
m0_7164990613 分钟前
达梦8-达梦数据的示例用户和表
数据库
2401_8711510715 分钟前
十二月第14讲:使用Python实现两组数据纵向排序
开发语言·python·算法
A尘埃23 分钟前
项目中常见的Mapper文件和接口
数据库·mybatis
数据小爬虫@28 分钟前
如何利用Java爬虫获得淘宝买家秀
java·开发语言·爬虫
waicsdn_haha37 分钟前
MySql-9.1.0安装详细教程(保姆级)
java·数据库·后端·mysql·php·性能测试·数据库开发
匹马夕阳43 分钟前
防抖(Debounce)和节流(Throttle)的区别和应用场景
开发语言·前端·javascript