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的统计也能获取到,棒!

总结

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

相关文章

  • asp+mysql+utf8 网页出现乱码问题的解决方法

    asp+mysql+utf8 网页出现乱码问题的解决方法

    无论在网页中加多少UTF8的定义,显示的结果都还是会有一些小格子,反而定义为gb2312,显示完全正常
    2014-03-03
  • window10下mysql 8.0.20 安装配置方法图文教程

    window10下mysql 8.0.20 安装配置方法图文教程

    这篇文章主要为大家详细介绍了window10下mysql 8.0.20 安装配置方法图文教程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • mysql 8.0.12 安装配置教程

    mysql 8.0.12 安装配置教程

    这篇文章主要为大家详细介绍了mysql 8.0.12安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • MySQL索引介绍及优化方式

    MySQL索引介绍及优化方式

    这篇文章主要介绍了MySQL索引介绍及优化方式,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • 深度分析mysql GROUP BY 与 ORDER BY

    深度分析mysql GROUP BY 与 ORDER BY

    鉴于项目的需要,就从网上找到该文章,文章分析得很详细也很易懂,在android里,(不知道是不是现在水平的限制,总之我还没找到在用ContentProvider时可以使用子查询),主要方法是用SQLiteDatabase 的 rawQuery,直接运行sql语句就可以了。
    2014-06-06
  • 执行sql报错only_full_group_by的2种解决方法

    执行sql报错only_full_group_by的2种解决方法

    这篇文章主要给大家介绍了关于执行sql报错only_full_group_by的2种解决方法,报错only_full_group_by是 MySQL数据库中的一个错误,文中通过代码将解决的办法介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • 浅谈Mysql8和mysql5.7的区别

    浅谈Mysql8和mysql5.7的区别

    本文主要介绍了Mysql8和mysql5.7的区别,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 深入理解mysql的自连接和join关联

    深入理解mysql的自连接和join关联

    这篇文章主要给大家介绍了关于mysql的自连接和join关联的相关资料,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-04-04
  • Centos6.5 编译安装mysql 5.6.16 详细教程

    Centos6.5 编译安装mysql 5.6.16 详细教程

    这篇文章主要为大家分享了Centos6.5编译安装mysql 5.6.16详细教程,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • mysql通配符的具体使用

    mysql通配符的具体使用

    通配符用于替换字符串中的一个或多个字符,通配符与LIKE运算符一起使用,本文就详细的介绍了mysql通配符的使用,具有一定的参考价值,感兴趣的可以了解一下
    2023-05-05

最新评论