[英]MySQL SUM() all the values of a Column for an ID(User) & echo total
成功連接到我的數據庫。 我有一張桌子,
stid | date | bf | ln | dn | meal_total
------------------------------------------------------
01 | 2015-11-27 13:12:01 | 1 | 2 | 3 | 6
01 | 2015-11-27 11:12:01 | 0 | 3 | 2 | 5
02 | 2015-11-27 12:12:01 | 1 | 1 | 1 | 3
03 | 2015-11-27 11:12:01 | 1 | 1 | 1 | 3
我只需要echo
的SUM
中的所有值meal_total
記錄在列current month
的stid
一樣,
Total Meal for `stid` in current month : 11.
我正在嘗試這樣的代碼,
$sql = "select sum(meal_total)
from meal
where stid='$_SESSION[stid]'
AND date >= DATE_ADD(CURDATE(), INTERVAL -DAY(CURDATE())+1 DAY) ";
我試圖在類似html的表格中顯示結果,
<? php
echo sum(meal_total);
?>
主席先生,現在請幫助我解決。 提前致謝。
[我已盡力澄清問題。]
由於您沒有提供任何有效的PHP代碼,因此我只能猜測您不知道如何從結果集中訪問SUM
字段。
當您SELECT SUM(meal_total)
您應該為該字段SELECT SUM(meal_total)
別名,以便像您的SELECT SUM(meal_total) AS meal_sum
一樣從您的PHP結果數組中訪問它,並且可以echo $resultArray['meal_sum']
來獲取有問題的值。
您需要在查詢中使用Group by語句: http : //dev.mysql.com/doc/refman/5.7/en/group-by-functions.html
如果命名結果,則可以從結果中輕松一點。 我建議您使用DATE_FORMAT ,它使您可以輕松比較部分日期。
$sql = "select sum(meal_total) AS meals
from meal
where stid='$_SESSION[stid]'
AND DATE_FORMAT( `date`, '%Y-%m' ) = DATE_FORMAT( NOW(), '%Y-%m' )";
# get result from sql
...
#
echo $result['meals'];
題外話:即使我是“先生”,也請注意,有很多(偉大的)女程序員。
嘗試
select
m.stdid,
sum(m.meal_total) as month_meals
from
meal as m
where
year(m.date)= year(month(CURRENT_DATE())
AND
month(m.date) = month(month(CURRENT_DATE())
group by m.stdid
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.