[mysql]选择 *,sum () 方程只返回一行

标签: sql MySQL
发布时间: 2015/6/11 21:25:04
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.
SELECT *, 
       (SUM(`q6`) / 
       (`q1` * 
           (`q1` + `q2` + `q3` + `q4` + `q5` + `q6`) / 6) 
       * 100) AS percent 
FROM table 
WHERE field2 = 'xxx'
ORDER BY `percent` ASC

上面的代码返回我的正确的值为"%",但只返回一行。我需要它来返回所有的行,其中的 15。

我要我的方程中通过率最高为每个行和订单获取值"%"。

看来,只要我添加 sum() 对我的 select 语句,它然后返回只包含一行。

解决方法 1:

假设所有的评论,你应该得到下面这样:

SELECT 
  *, (SUM(`q6`) / (`q1` * (`q1` + `q2` + `q3` + `q4` + `q5` + `q6`) / 6) * 100) 
  AS percent 
FROM table 
WHERE field2 = 'xxx' 
GROUP BY id ORDER BY `percent` DESC
官方微信
官方QQ群
31647020