我有一个sql:

SELECT * , (
xnum * xprice
) AS amount, SUM( xnum * xprice ) AS total
FROM xxbasket
LEFT JOIN xxsubproduct
USING ( xsubproduct_id )
LEFT JOIN xxcolor
USING ( xcolor_id )
WHERE xuserid = '3'

当我使用SUM(xnum*xprice)作为total时,它只给我一行,但是当我删除这个SUM(xnum*xprice)时,它给我所有行
我的问题是怎样才能得到总数?当我需要查询中的所有行时?!

最佳答案

Sum是计算所有选定行上的值(xnum*xprice)之和的函数。结果是一行。
如果要计算多组行的总和,可以使用GROUP BY子句,该子句将列分组到组(例如,GROUP BY userid而不是where子句将计算所有用户的总和(xnum*xprice))

关于sql - mySQL中的列总数!,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1055620/

10-10 14:59