php - 合并两个 MySQL 查询并将结果相减

标签 php mysql sql

我的第一个查询返回一周的平均值:

SELECT POSITION, PLAYER, SUM( POINTS ) / COUNT( DISTINCT YEAR, WEEK ) AS  'avg' 
FROM SCHEDULE WHERE WEEK = 1 GROUP BY PLAYER HAVING COUNT( DISTINCT YEAR, WEEK ) >2 
ORDER BY avg DESC

我的第二个查询返回总体平均值:

SELECT POSITION, PLAYER, SUM( POINTS ) / COUNT( DISTINCT YEAR, WEEK ) AS  'avg' 
FROM SCHEDULE GROUP BY PLAYER HAVING COUNT( DISTINCT YEAR, WEEK ) >2 
ORDER BY avg DESC

我希望从查询 2 中减去查询 1 并按降序显示结果。

最佳答案

SELECT 
    WA.POSITION, 
    WA.PLAYER, 
    WA.avg as 'wk_avg',
    OA.avg as 'overall_avg',
    WA.avg - OA.avg as 'diff'
FROM 
    (SELECT POSITION, PLAYER, SUM( POINTS ) / COUNT( DISTINCT YEAR, WEEK ) AS  'avg' 
    FROM SCHEDULE WHERE WEEK = 1 GROUP BY PLAYER HAVING COUNT( DISTINCT YEAR, WEEK ) >2 
    ) WA
INNER JOIN
    (SELECT POSITION, PLAYER,SUM( POINTS ) / COUNT( DISTINCT YEAR, WEEK ) AS  'avg' 
    FROM SCHEDULE GROUP BY PLAYER HAVING COUNT( DISTINCT YEAR, WEEK ) >2 
    ) OA
ON WA.POSITION = OA.POSITION and WA.PLAYER = OA.PLAYER
ORDER BY WA.avg - OA.avg DESC

关于php - 合并两个 MySQL 查询并将结果相减,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25553678/

相关文章:

mysql - 如何在 Mac 上安装 MySQL 并且不需要 1.13 GB?

sql - 我应该在删除表之前截断表以避免日志记录开销吗?

PHP & MySQL 循环问题

mysql - AWS RDS 如何设置 MySQL 数据库

php - 如果变量为空,如何跳过 while 循环中的项目?

sql - 如何在 Moodle 中运行自定义 SQL 查询?

php - PHP脚本的安全性,嵌入式或其他

php - HTACCESS 重写不适用于非 WP 目录

php - 如何在 Laravel 中将时间作为输入?

php - Phalcon 模块已加载但仍然找不到类