MySQL SUM()用于ID(用户)和列的列的所有值。回声总计

时间:2015-11-08 19:32:49

标签: php mysql

已成功连接到我的数据库。我有一张表,

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 monthstid 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) ";

<? php 
echo sum(meal_total); 
?>

我正在尝试这样的代码,

{{1}}

我试图在html表中显示结果,如

{{1}}

先生,先生,请帮我解决。提前谢谢。

[我尽力澄清我的问题。]

4 个答案:

答案 0 :(得分:0)

由于您没有提供任何有效的PHP代码,我只是猜测您不知道如何从结果集中访问SUM字段。

当您SELECT SUM(meal_total)时,您应该为该字段添加别名,以便从您的PHP结果数组中访问它SELECT SUM(meal_total) AS meal_sum,您可以echo $resultArray['meal_sum']获取相关值。

答案 1 :(得分:0)

答案 2 :(得分:0)

如果您为结果命名,则可以更轻松地从结果中获取结果。 我建议你使用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'];

Offtopic: 即使我是爵士,请注意有很多(伟大的)女性程序员。

答案 3 :(得分:0)

尝试

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