2016-08-19 79 views
-1

美好的一天。我真的遇到了很大的麻烦,因为我无法弄清楚我的发言有什么问题。它如下:加上WHERE和GROUP BY条款

$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 非常感谢你。

+0

我不能复制这一发现

您的要求不明确

。我得到500和6000 – Strawberry

+0

你不需要在'select'子句中包含'item_id'吗? –

+0

只需使用SELECT SUM(AMOUNT)作为sum_query的总数MAIN_ID = 1 – sunilwananje

回答

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

此查询工作plase尝试这个

+0

我的问题的最后部分有一个错误。请检查一下。我刚刚几分钟就编辑过它。 –

+0

var_dump($ sum)的结果是什么。 plz评论你的结果 –

+0

array(1){[“TOTAL”] => string(4)“500”} –

1

如果你想ANS 6500然后取出group by条款

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

你有2个记录项目2.我不知道你为什么在OTHER_DETAILS中保留'a和b'。如果你想利用只OTHER_DETAILS“A”相匹配的记录,那么使用以下查询

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