2012-05-10 70 views
0

我试图从给定用户得到每个月的总时数,并且遇到代码问题。需要帮忙。从Mysql和php中选择总和

是我到目前为止有:

$ SQL = “SELECT SUM(小时)total_Hours航班往返WHERE月份= 3 和用户名= '$ MYNAME'”;

这甚至没有工作,但我真正需要的是每个月用户的总小时数。 可能吗?

+0

你在结果中得到了什么吗? – Nate

回答

1

下面是查询,询问总和每月:

SELECT SUM(`hours`) AS total_Hours, `month` FROM flights 
WHERE `username`='some_user' 
GROUP BY `month` 

你也应该知道你的$myname变量必须与mysql_real_escape_string传递之前进行转义在查询中。

@Robbie讲述了逃避month的权利。这似乎是您查询的唯一问题。

+0

月是一个保留字 - 把它放在引号中,否则这也不起作用。 – Robbie

+0

你几乎是正确的,但MySQL使用另一个字符。 –

0

你需要一个GROUP BY条款:

SELECT user, month, SUM(hours) AS total_hours 
FROM flights 
GROUP BY user, month 
ORDER BY user, month 
+0

月是一个保留字 - 将其放在引号中,否则这将不起作用 – Robbie

+0

这不是保留字。有一个MONTH()函数,但这不是函数调用。 http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html –

+0

接受 - 它会工作。抱歉。 – Robbie