[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
	}
相关推荐
代码游侠几秒前
学习笔记——栈
开发语言·数据结构·笔记·学习·算法
编程修仙5 分钟前
第七篇 java的注解以及使用反射实现自定义注解功能
xml·java·开发语言·spring
!chen8 分钟前
Oracle分区表+本地索引 核心优化方案
数据库·oracle
叽里咕噜怪11 分钟前
MySQL-读写分离实验
数据库·mysql
生产队队长14 分钟前
Database:PLSQL中文乱码(查询显示问号???、表注释显示问号???)
数据库
GesLuck19 分钟前
Beaglebone BB Black C版 AM3358(一)
c语言·开发语言·物联网·硬件架构
lusasky20 分钟前
Java内存堆栈AI分析工具全览
java·开发语言
CoderYanger21 分钟前
C.滑动窗口-越长越合法/求最短/最小——2904. 最短且字典序最小的美丽子字符串
java·开发语言·数据结构·算法·leetcode·1024程序员节
饕餮争锋21 分钟前
SQL LIKE 语句中下划线“_”是通配符
数据库·sql
霸王大陆27 分钟前
《零基础学PHP:从入门到实战》教程-模块七:MySQL 数据库基础-3
数据库·mysql·php