与WHERE和GROUP BY CLAUSE相加

时间:2016-08-19 07:19:25

标签: php mysql

美好的一天。我真的遇到了大麻烦,因为我无法弄清楚我的陈述有什么问题。它如下:

$sumitem = mysqli_query($conn,"SELECT SUM(AMOUNT) AS TOTAL FROM sum_query WHERE MAIN_ID = 1 GROUP BY ITEM_ID");
$sum = mysqli_fetch_assoc($sumitem);

我正在尝试打印$ sum [' TOTAL']但它只显示第一列。以下是我的样本表:

MAIN_ID | ITEM_ID | AMOUNT |  DESC  | OTHER_DETAILS 
   1    |     1   |  500   | Item 1 |  a 
   1    |     2   |  5000  | Item 2 |  a 
   1    |     2   |  5000  | Item 2 |  b

我想要的结果应该是5500,但它只返回500。 非常感谢你。

3 个答案:

答案 0 :(得分:1)

如果您希望ans为6500,请删除group by子句

SELECT SUM(AMOUNT) AS TOTAL FROM sum_query WHERE MAIN_ID = 1

答案 1 :(得分:0)

SELECT SUM(g.AMOUNT)  AS TOTAL 
    FROM sum_query g
   WHERE g.MAIN_ID = 1 
GROUP BY g.ITEM_ID

此查询正在尝试试用此

答案 2 :(得分:0)

你有2条记录第2项。我不知道你为什么要保留&a;和b'在OTHER_DETAILS。

您的要求不明确

如果您只想拍摄与OTHER_DETAILS' a'匹配的记录,请使用以下查询

SELECT SUM(AMOUNT) AS TOTAL FROM sum_query WHERE MAIN_ID = 1 and OTHER_DETAILS = 'a'