基本SQL总和,选择,WHERES,GROUP BY语句

时间:2017-12-13 22:41:46

标签: mysql join

我正在处理这些数据。

应该产生什么:

enter image description here

应该生成的是该图片底部的结果。

相反,我得到了结果:

enter image description here

我的代码如下:

SELECT distinct(username) as 'Name', p.price as 'Price', p.quantity as 'Quantity', (p.price * p.quantity) as 'Total'
 FROM users u, purchase p
WHERE u.userID = p.userID 
ORDER BY (username) asc  ; 

我想知道如何添加唯一的用户名(Alice的4和1.5来生成5.5)以及如何在数据上显示Matt的名称?

2 个答案:

答案 0 :(得分:2)

只是微小的变化,但重要的是按用户分组而不是按用户排序

SELECT username as 'Name', SUM(p.price * p.quantity) as 'Total'
 FROM users u, purchase p
WHERE u.userID = p.userID 
GROUP BY username; 

答案 1 :(得分:0)

从[用户]中选择u.name,sum(数量*价格)作为总数u左边连接购买p在u.id = p.userId 分组由u.name