使用一条sql语句查询某字段的数据总和,并列出表中的所有记录

云端观云 2018-09-05 09:36:53
比如有消费记录表如下:
用户,
购买商品,
消费时间,
消费金额
----------------------我是一条分割线--------------------------
--------------------------------------------------------------------------
如何使用一条Sql语句查出表里的所有记录并且查出总的消费金额呢
...全文
5656 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
JesseData 2018-09-05
  • 打赏
  • 举报
回复
CREATE  TABLE `consume` (
`ID` int(6) NOT NULL auto_increment,
`user` varchar(64) DEFAULT NULL,
`product` varchar(64) DEFAULT NULL,
`time` DATETIME,
`monetary` int(6) DEFAULT -1,
PRIMARY KEY (`id`)
) ENGINE=MEMORY DEFAULT CHARSET=utf8;


INSERT INTO consume(user,product,time,monetary) values('user1','iphone',STR_TO_DATE('2018-09-05 10:17:00', '%Y-%m-%d %H:%i:%s') ,10000);
INSERT INTO consume(user,product,time,monetary) values('user2','iphone3',STR_TO_DATE('2013-09-05 10:17:00', '%Y-%m-%d %H:%i:%s') ,90000);
INSERT INTO consume(user,product,time,monetary) values('user3','iphone4',STR_TO_DATE('2014-09-05 10:17:00', '%Y-%m-%d %H:%i:%s') ,70000);
INSERT INTO consume(user,product,time,monetary) values('user4','iphone5',STR_TO_DATE('2015-09-05 10:17:00', '%Y-%m-%d %H:%i:%s') ,80000);
INSERT INTO consume(user,product,time,monetary) values('user5','iphone6',STR_TO_DATE('2016-09-05 10:17:00', '%Y-%m-%d %H:%i:%s') ,60000);
INSERT INTO consume(user,product,time,monetary) values('user6','iphone8',STR_TO_DATE('2017-09-05 10:17:00', '%Y-%m-%d %H:%i:%s') ,90000);


SELECT
a.*, b.*
FROM
consume a,
(
SELECT
sum(monetary)
FROM
consume
) b;


SELECT
a.*, b.*
FROM
consume a,
(
SELECT
sum(monetary),
product
FROM
consume
GROUP BY
product
) b
WHERE
a.product = b.product;
云端观云 2018-09-05
  • 打赏
  • 举报
回复
是不是没有办法一条sql搞定呢
云端观云 2018-09-05
  • 打赏
  • 举报
回复
大神们你们在哪,求指导

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧