[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
	}
相关推荐
q***31839 分钟前
MySQL---存储过程详解
数据库·mysql
q***428212 分钟前
MySQL数据库误删恢复_mysql 数据 误删
数据库·mysql·adb
m5655bj14 分钟前
使用 Python 高效复制 Excel 行、列、单元格
开发语言·python·excel
2***s67218 分钟前
给SQL server数据库表字段添加注释SQL,附修改、删除注释SQL及演示
数据库·sql·oracle
龙言龙论27 分钟前
身份证信息批量处理系统:从入门到实战(附exe工具+核心源码)
数据库·python
Murphy_lx30 分钟前
C++ std_stringstream
开发语言·c++·算法
v***87041 小时前
QoS质量配置
开发语言·智能路由器·php
Wpa.wk1 小时前
自动化测试环境配置-java+python
java·开发语言·python·测试工具·自动化
北郭guo1 小时前
MyBatis框架讲解,工作原理、核心内容、如何实现【从浅入深】让你看完这篇文档对于MyBatis的理解更加深入
java·数据库·mybatis