MySQL group by和left join并用解决方式

 更新时间:2023年12月16日 14:38:39   作者:政清  
这篇文章主要介绍了MySQL group by和left join并用解决方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

MySQL group by和left join并用

最近在做一个联查时遇到了一个问题,group by和left join并用的时候,发现记录没法查出来,原因其实

是自己的sql写得不太好,在同事帮助下得到了解决,下面上SQL

  • account_log为记录表
  • customer为用户表

没解决前的sql

SELECT customer.Alias,SUM(account_log.money) AS money,account_log.cid AS cid
FROM `customer`
LEFT JOIN account_log ON account_log.cid = customer.id
WHERE customer.Alias = '123' 
GROUP BY customer.Alias;

上面的这种写法主要是想通过联查然后统计出记录表用户所有的money字段,但是如果在记录表没有记录的情况下,group by查出来的结果会为空,这样就导致了用户数据也显示不出来了。

重写sql如下

SELECT * FROM  `customer` c LEFT JOIN 
`(SELECT cid,SUM(money) AS money FROM account_log GROUP BY cid ) m`
ON c.id = m.cid
WHERE  c.Alias = '123'

居然还有这种操作,left join里面居然还能用子查询,money的统计也能获取到,棒!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL中Next-Key Lock底层原理实现

    MySQL中Next-Key Lock底层原理实现

    Next-KeyLock是MySQL InnoDB存储引擎中的一种锁机制,结合记录锁和间隙锁,用于高效并发控制并避免幻读,本文主要介绍了MySQL中Next-Key Lock底层原理实现,感兴趣的可以了解一下
    2025-03-03
  • MYSQL 解锁与锁表介绍

    MYSQL 解锁与锁表介绍

    相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制
    2017-04-04
  • MySQL中几种常见的嵌套查询详解

    MySQL中几种常见的嵌套查询详解

    最近在MySQL上做了点工作,发现很多人都在询问MySQL嵌套查询的问题,下面这篇文章主要给大家介绍了关于MySQL中几种常见的嵌套查询,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Mysql中LAST_INSERT_ID()的函数使用详解

    Mysql中LAST_INSERT_ID()的函数使用详解

    从名字可以看出,LAST_INSERT_ID即为最后插入的ID值,有了这个实用的函数,我们可以实现很多问题,下面我们就来深入探讨下。
    2015-03-03
  • mysql 多个字段拼接的实例详解

    mysql 多个字段拼接的实例详解

    这篇文章主要介绍了mysql 多个字段拼接的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • MYSQL中varchar和TEXT的相关问题详析

    MYSQL中varchar和TEXT的相关问题详析

    varchar 和 text 是 MySQL 字符存储争议比较多的领域,下面这篇文章主要给大家介绍了关于MYSQL中varchar和TEXT,文中介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • mysql in索引慢查询优化实现步骤解析

    mysql in索引慢查询优化实现步骤解析

    这篇文章主要为大家介绍了mysql in慢查询优化实现步骤的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • mysql字符串拼接的几种实用方式小结

    mysql字符串拼接的几种实用方式小结

    在SQL语句中经常需要进行字符串拼接,下面这篇文章主要给大家介绍了关于mysql字符串拼接的几种实用方式,文中通过图文以及代码示例介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • mysql字符串格式化方式

    mysql字符串格式化方式

    这篇文章主要介绍了mysql字符串格式化方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • MySQL执行时间的查询

    MySQL执行时间的查询

    这篇文章主要介绍了MySQL执行时间的查询,查询频繁的数据库和查询执行时间长的sql,文章中有详细的代码实例,感兴趣的同学可以参考阅读
    2023-04-04

最新评论