MySQL中concat字段的总和

时间:2012-03-28 06:04:01

标签: mysql math

在数据库中,我有用于评分用户的字段。它们如下:

id | user_id | month | week | activity | speed

所以,我希望在一个字段中获得活动+速度,但是要从GROUP_CONCAT结果获得,因为我有一个以上的评分,对于一个用户(不同的一周和一个月)。

我当前的查询如下:

SELECT *, GROUP_CONCAT( CONVERT( tfts_bodovanja.activity + tfts_bodovanja.speed, 
      CHAR( 8 ) ) SEPARATOR  '+' ) AS indeks
FROM tfts_fans
GROUP BY user_id
ORDER BY indeks DESC

它返回(对于粗体部分):

191.4000+383.1999

显然,订购不起作用。

所以,我想要的只是总结这两个数字和mysql以将它们作为FLOAT返回。这怎么可以实现?

1 个答案:

答案 0 :(得分:2)

带有“+”的GROUP_CONCAT将创建一个字符串,不会添加。假设你想要每个用户的(活动+速度)之和,你可以做这样的事情

SELECT user_id,
       SUM( activity + speed ) AS indeks
FROM tfts_fans 
GROUP BY user_id 
ORDER BY indeks DESC