php - MySQL - 我如何/解决方法按组函数的结果排序

标签 php mysql sql

我正在使用 MySQL 5.5.37-0 ubuntu0.12.04.1

我有以下用于足球比赛的 MySQL 表..

G = 目标
M = 错过了
S = 已保存

id|  team  | result

0, "England", "G",
1, "France",  "M",
2, "England", "G",
3, "Germany", "G",
4, "Germany", "S",

等...

我需要创建最佳球队的联赛表,按他们的失球率排序......

我想做以下...


SELECT `team` as 'target',
(
    SELECT count(`id`)
    FROM `database`
    WHERE `team` = `target`
) as 'shots',
count(`id`) AS 'goals'
FROM `database`
WHERE (
    `result` =  'G'
)
GROUP BY `team`
ORDER BY (`goals` / `shots`) DESC
Limit 0, 10
</code>

但您不能订购群组功能。有没有其他方法可以做到这一点?

谢谢。

最佳答案

SELECT COUNT(result)  shots,
    (SELECT COUNT(result) AS Goal FROM football 
                    WHERE result='g' AND team = f.team
                    ) goal
    ,team , ((SELECT COUNT(result) AS Goal FROM football 
                    WHERE result='g' AND team = f.team))/COUNT(result)  AS ratio

FROM football f
GROUP BY team 


ORDER BY ratio DESC 

请尝试这个查询,让我知道我创建了你的表,正如你在问题中提到的那样,并尝试找到罢工率和目标完成率....

关于php - MySQL - 我如何/解决方法按组函数的结果排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24203847/

相关文章:

PHP Codeigniter : set Port Number for MySQL Configuration

mysql - 将电话号码格式化为10位数字(mysql)

PHP解析逗号后的MYSQL并输出到html表

php - 从列的数组中按单个元素检索 id

javascript - SilverStripe 通过 Ajax 提交 HTML 表单

mysql - 有人可以向我解释这个 mysql 代码吗

MySQL忽略查询中的子分区

php - 在 Symfony 中注册特定的表单类型 - Compiler Pass

mysql - datediff 函数总是返回 null

php - 具有多个ID的Mysql选择查询