sum 加 Group By 的使用

2023-11-15

1、A 表 有server_id  为1的两条数据

2、B表有server_id 为1的数据也有两条

原本Sql是这样   乍一看没啥问题  但是group by 没生效 

SELECT a.server_id,sum(b.score) as score FROM `a` INNER JOIN `b` ON `a`.`server_id`=`b`.`server_id` WHERE  `b`.`server_id` = 1 GROUP BY `a`.`server_id` LIMIT 1

期望的值是 20 返回结果却是 40

修改Sql 构建子查询:

 

distinct说明:用于返回唯一不同的值。

select a.server_id, sum(b.score) from ( select distinct a.server_id from a)a inner join b on a.server_id = b.server_id group by a.server_id

Tp写法:

// 构建子查询
        $sql = Db::name('a')->field('distinct server_id')->buildSql();
        

        $r = Db::table($sql.'a')
            
            ->join('b','a.server_id = b.server_id')
            
            ->where('b.server_id', 1)
            
            ->field('a.server_id,sum(b.score) as score')
            
            //->group('a.server_id')
            
            ->find();

Laravel写法:

        $build_sql = DB::table('a')
            ->select('server_id')
            ->groupBy('ServerID');

        $r = DB::table( DB::raw("({$build_sql->toSql()}) as a") )

            ->join('b', 'a.server_id', 'b.server_id')

            ->whereDate('a.CreateTime', date('Y-m-d'))

            ->selectRaw('sum(b.score) as score')

            ->where('a.server_id', 1)

            ->first();

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sum 加 Group By 的使用 的相关文章

随机推荐

  • 数据转换之数据清洗

    一 实现对文本文件personnel data txt中的数据进行数据粒度的转换 即将文本文件personnel data txt中字段为household register的数据统一成省份 直辖市 并输出到文本文件personnel da
  • 大数据时代移动边缘计算架构中的差分隐私保护(二)

    大数据时代移动边缘计算架构中的差分隐私保护 二 实际上 给数据加拉普拉斯噪声或者是指数噪声是针对中心式的差分隐私处理框架的 对于本地化的差分隐私处理框架 现在已有的是采用随即相应技术 Bloom Filter等技术满足 本地化差分隐私 LD
  • 【iOS】—— SDWebImage源码学习

    SDWebImage源码 文章目录 SDWebImage源码 1 UIKit层 sd internalSetImageWithURL 1 取消之前下载操作 2 设置占位图 3 判断URL是否合法 2 工具层 SDWebImageManage
  • 毕业设计 - 基于单片机的智能水箱

    文章目录 1 简介 2 概述 2 1 系统描述 2 2 系统目标 3 具体实现 3 1 系统组成架构 3 2 系统功能 3 3 系统特点 3 4 水位检测及自动供水实现 3 5 水箱盖监控实现 3 6 信息实时传输实现 3 7 安卓客户端实
  • 【PIC单片机】2.编译器下载

    XC8 XC16和XC32对应8位 16位和32位PIC单片机 按实际使用的单片机选择下载最新版本即可 官网链接 https www microchip com en us development tools tools and softw
  • 目录:四种Qt程序的架构设计方法

    四种常见的关于Qt程序的架构设计方法 使用MVC设计模式MVC是Model View Controller的缩写 是应用程序开发中常用的设计模式 在Qt中 可以使用QAbstractItemModel和QTreeView等类来实现MVC模式
  • 如何设置、查询 ESP32 设备的 MAC 地址

    设置 查询 ESP32 设备的 MAC 地址有多种方式 如下 1 使用 AT 指令来设置 查询 ESP32 设备的 MAC 地址 1 1 使用 AT 指令设置 查询 Wi Fi Station 模式的 MAC 地址 使用 AT CIPSTA
  • 【数据库设计】无损连接的判别方法

    数据库设计 无损连接的判别方法 无损连接是指分解后的关系通过自然连接可以恢复成原来的关系 即通过自然连接得到的关系与原来的关系相比 既不多出信息 又不丢失信息 保持函数依赖分解是指在模式的分解过程中 函数依赖不能丢失的特性 即模式分解不能破
  • 数据库视图的基本操作(sql语句)

    表视图的增删改查 sql语句 概念 视图是一张虚拟表 它是从数据库的一张或多张表中导出的表 其内容由查询语句定义 作用 简单性 安全性 逻辑数据独立性 如果应用建立在视图上 当表发生变化时 可以修改视图屏蔽表的变化 使应用程序保持不变 如果
  • Python前台搜索-之百度网站搜索

    简述 selenium是谷歌公司的一个项目 这句代码的含义 从谷歌公司的一个项目导入 import 浏览器驱动webdriver 浏览器驱动是用代码来操作浏览器的 简述 调用webdriver Chrome 打开浏览器 简述 通过get方法
  • 多行文字 溢出隐藏 三个点 兼容 IE8+ 及常用浏览器

    常用浏览器css简单实现 text overflow ellipsis overflow hidden display webkit box webkit box orient vertical webkit line clamp 3 IE
  • Mac 使用rz sz 命令

    1 首先安装brew与lrzsz 参考 https blog csdn net weixin 35757704 article details 108880008 然后在控制台 brew install lrzsz 2 安装iterm2 自
  • SQL注入种类

    SQL注入攻击的种类 知彼知己 方可取胜 首先要清楚SQL注入攻击有哪些种类 工具 原料 云盾 方法 步骤 1 1 没有正确过滤转义字符 在用户的输入没有为转义字符过滤时 就会发生这种形式的注入式攻击 它会被传递给一个SQL语句 这样就会导
  • Java跳转语句(break,continue,return)

  • const char*和char *const

    1 const char const在指针前 修饰常量 指向常量的指针 指针指向可以改 指针指向的值不可以改 char ch 5 list const char pStr ch pStr w error pStr hi 提示 虽然不能用pS
  • 步进电机基础(5.1)-步进电机的驱动与控制-恒压驱动、恒流驱动

    步进电机基础 5 1 步进电机的驱动与控制 恒压驱动 前言 基本信息 前言说明 步进电机的驱动与控制 5 1 恒电压驱动 1 使用外加电阻的驱动 2 无外加电阻的驱动 3 电压驱动 5 2 恒电流驱动 前言 基本信息 名称 描述说明 教材名
  • 图像质量评估——论文精读系列

    Madhusudana P C Birkbeck N Wang Y et al Image quality assessment using contrastive learning J IEEE Transactions on Image
  • Java线程:线程状态的转换

    本文转载至 http lavasoft blog 51cto com 62575 99153 一 线程状态类型 1 新建状态 New 新创建了一个线程对象 2 就绪状态 Runnable 线程对象创建后 其他线程调用了该对象的start 方
  • Java等调用python深度学习训练的模型(待完成)

    1 参考博客园 java web应用调用python深度学习训练的模型 2 参考CSDN Java调用Python的训练模型 3 参考博客园 使用java调用python训练出的pmml模型 4 参考简书 java调用python方法 5
  • sum 加 Group By 的使用

    1 A 表 有server id 为1的两条数据 2 B表有server id 为1的数据也有两条 原本Sql是这样 乍一看没啥问题 但是group by 没生效 SELECT a server id sum b score as scor