Mysql 如何在SELECT查询中按两个总和/计数的比率排序?
在Mysql 如何在SELECT查询中按两个总和/计数的比率排序?,mysql,select,sql-order-by,Mysql,Select,Sql Order By,在中选择查询为 SELECT category_id, COUNT(*) AS Total, SUM(IF(year=2016,1,0) AS year2016, SUM(IF(year=2015,1,0) AS year2015 FROM articles GROUP BY category_id 如何按2016年/2015年的比率排序?将SELECT语句移动到子查询中将允许您重新使用计算的总和。转换为十进制将告诉MySQL不要使用整数除法,并将值保留在小数点的右侧 SELECT c
中选择查询为
SELECT
category_id,
COUNT(*) AS Total,
SUM(IF(year=2016,1,0) AS year2016,
SUM(IF(year=2015,1,0) AS year2015
FROM articles
GROUP BY category_id
如何按2016年/2015年的比率排序?将SELECT
语句移动到子查询中将允许您重新使用计算的总和。转换为十进制
将告诉MySQL不要使用整数除法,并将值保留在小数点的右侧
SELECT category_id, Total, year2016, year2015
FROM
(SELECT
category_id,
COUNT(*) AS Total,
SUM(IF(year=2016,1,0)) AS year2016,
SUM(IF(year=2015,1,0)) AS year2015
FROM articles
GROUP BY category_id) AS t
ORDER BY CAST(year2016 AS DECIMAL(14,4)) / CAST(year2015 AS DECIMAL(14,4))
按金额排序(如果(年份=2016,1,0)/SUM(如果(年份=2015,1,0)说明