概述
我有一张表如图
id projectName pId cDate amount period contractNum ownerName archives
1 江夏区大桥 1 2017 1900000 1 001 A 1
2 江夏区大桥 1 2017 1500000 2 001 A 1
3 江夏区大桥 1 2018 1900000 1 001 A 1
4 其他区大桥 2 2018 1900000 1 002 B 2
5 北方区大桥 3 2016 1902451 1 003 C 3
6 北方区大桥 3 2016 1854695 2 003 C 3
7 江夏区大桥 1 2016 1500000 1 001 A 1
8 江夏区大桥 1 2016 1000000 1 001 A 1
我想查出年份大于2016的所有记录,每条记录要加上这个项目在2016年前的所有的付款金额的总和,这个sql语句怎么写?我写了一个但是只出了一条数据并且是错误的。
SELECT DATE_FORMAT(t.cDate,'%Y') AS YEAR,t.*,SUM(a.amount) FROM wlkgltz1 t
LEFT JOIN
(SELECT * FROM wlkgltz1 t WHERE DATE_FORMAT(t.cDate,'%Y')<='2016') a
ON
t.pId = a.pId
WHERE DATE_FORMAT(t.cDate,'%Y') > '2016'
最后
以上就是清秀跳跳糖为你收集整理的mysql怎么消除笛卡尔积_mysql左链接笛卡尔积如何避免?的全部内容,希望文章能够帮你解决mysql怎么消除笛卡尔积_mysql左链接笛卡尔积如何避免?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复