- left join on 后边的条件只针对副表,如果要筛选主表必须写在where后。
| # 问题查不出左表全部数据 |
| select * from a left join b on a.id=b.id where b.name="kk"; |
| # 解决问题 |
| select * from a left join b on a.id=b.id and b.name="kk"; |
- 左连接后,使用聚合函数(max、count、sum)未指定分组 group by。
| # 问题查不出左表全部数据 |
| SELECT DATE_FORMAT(a.date,'%m-%d') as happenDate, IFNULL(count(b.id),0) num |
| FROM ( |
| select DATE_FORMAT(date_sub(now(), interval 0 DAY),'%Y-%m-%d') date |
| UNION ALL |
| SELECT DATE_FORMAT(date_sub(now(), interval 1 day),'%Y-%m-%d') date |
| UNION ALL |
| SELECT DATE_FORMAT(date_sub(now(), interval 2 day),'%Y-%m-%d') date |
| UNION ALL |
| SELECT DATE_FORMAT(date_sub(now(), interval 3 day),'%Y-%m-%d') date |
| UNION ALL |
| SELECT DATE_FORMAT(date_sub(now(), interval 4 day),'%Y-%m-%d') date |
| UNION ALL |
| SELECT DATE_FORMAT(date_sub(now(), interval 5 day),'%Y-%m-%d') date |
| UNION ALL |
| SELECT DATE_FORMAT(date_sub(now(), interval 6 day),'%Y-%m-%d') date |
| ) a |
| LEFT JOIN jy_push_alarm_terminal b |
| ON DATE_FORMAT(b.update_time,'%Y-%m-%d') = a.date AND b.scene = 1 AND b.del_flag = 0 |
| # 解决问题,就是对a.date进行分组 |
| GROUP BY a.date |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!