我如何计算mysql查询返回的行数?我想用PHP计算它们

时间:2013-11-29 10:33:06

标签: php mysql database count

我有一个数据库表

connection_td

id - zone - ageing_with_a -  ageing_with_b -  ageing_with_c   -  tatal_ageing  -  average
1     Abw        5days           1days             2days              8days      2.6days 
2     bbb        1days           5days             2days              8days      2.6days 
3     bbb        2days           3days             4days              9days      3days  
4     Abw        3days           2days             6days              11days     3.4days 
5     ccc        4days           4days             6days              14days     4.3days  

现在我想要检索这个数据,就像在这个tanle

中一样
id - zone - ageing_with_a - ageing_with_b - ageing_with_c   -  tatal_ageing  -  average
1     Abw         8               3               8                 19           6
2     bbb
3     ccc

希望你能理解我想要的人请帮助我谢谢

4 个答案:

答案 0 :(得分:3)

查看GROUPBY个功能:documentation

例如:

SELECT zone, SUM(ageing_with_a) , SUM(ageing_with_b) , SUM(ageing_with_c)  , SUM(tatal_ageing) , SUM(average)
FROM connection_td
GROUP BY zone

但我发现您的数据中有days个字符串。您必须删除此字符串,然后将结果转换(或转换)为数字,以便能够使用SUM函数。

SUM(CAST(REPLACE(ageing_with_a ,'[a-z]+','')) AS DECIMAL(2,2))之类的东西可以解决问题。

或更好:根据需要将列类型更改为DECIMAL或INTEGER,并停止将'days'字符串存储在其中。然后,我在这里提出的第一个查询应该有效。

答案 1 :(得分:2)

正确的方法是将表列数据类型更改为“INT”,并仅在这些列中存储数字。 然后,像SUM这样的简单查询就可以了。但首先应该更改列数据类型。

答案 2 :(得分:1)

如果你想计算你的字段应该整数。但现在我可以看到它是 varchar

请在您的字段中输入整数

试试这个 -

SELECT SUM(ageing_with_a), SUM(ageing_with_b), SUM(ageing_with_c) FROM connection_td GROUP BY zone

答案 3 :(得分:0)


如果要首先添加列值,则必须在数据库中将列用作整数,并将日期放在数据库中

并尝试此查询

SELECT SUM(ageing_with_a), SUM(ageing_with_b), SUM(ageing_with_c) FROM connection_td GROUP BY zone