这是我的SQL查询,以获得下表:
select c.name, s.company, p.qty, p.qty * p.price as Total
from client c, purchase p, stock s
where c.clno = p.clno AND s.company = p.company
group by c.name, s.company, p.qty, p.qty * p.price
order by sum(p.qty) desc
上述查询的输出如下所示:
Name | Company | Qty | Total
John ABC 12 100
Bob XYZ 10 150
John ABC 5 50
Bob XYZ 20 250
Bob XYZ 2 20
Nav QRS 10 150
John ABC 10 150
我想让查询获取输出如下:
Name | Company | Qty | Total
John ABC 27 300
Bob XYZ 32 420
Nav QRS 10 150
截至目前,您的查询使用GROUP BY
但实际上并未聚合数据。你想要GROUP BY
名称和公司,以及SUM
的数量和数量,如:
select c.name, s.company, SUM(p.qty), SUM(p.qty * p.price) as Total
from client c
inner join purchase p on c.clno = p.clno
inner join stock s on s.company = p.company
group by c.name, s.company
order by Total desc
关于您的查询的其他评论:
ORDER BY
子句中使用列别名(这里,Total
;这可以使查询更容易阅读