计算MySQL中特定日期范围内每行值的百分比
我想获取mysql数据库中某个表的某个日期范围内具有最高值的前4行。因此,我可以使用以下代码行执行此操作,例如:计算MySQL中特定日期范围内每行值的百分比,mysql,Mysql,我想获取mysql数据库中某个表的某个日期范围内具有最高值的前4行。因此,我可以使用以下代码行执行此操作,例如: SELECT MONTH(date) as month, amount from sales where date >='2014-01-01' AND date <='2014-12-31' ORDER BY amount DESC LIMIT 4 但我想添加一个新列,其中包含每个值的百分比,我尝试使用以下行: SELECT MONTH(date) as month,
SELECT MONTH(date) as month, amount from sales where date >='2014-01-01' AND date <='2014-12-31' ORDER BY amount DESC LIMIT 4
但我想添加一个新列,其中包含每个值的百分比,我尝试使用以下行:
SELECT MONTH(date) as month, amount, round(amount*100/sum(amount) ,1) as 'percent' from sales where date >='2014-01-01' AND date <='2014-12-31' ORDER BY `amount` DESC LIMIT 4
但它不起作用。我怎样才能得到它?我需要一些帮助。这里有一种方法。提供原始数据片段也有帮助。创建一个更有用的网站
select month, amount, round(amount*100/total,1) as percent
from
(
select MONTH(date) as month, amount
from sales
where date >='2014-01-01' AND date <='2014-12-31'
ORDER BY amount DESC LIMIT 4
) c JOIN (
select sum(amount) as total
from sales
where date >='2014-01-01' AND date <='2014-12-31'
) t
我们不是来对您的SQL查询进行反向工程的。您至少应该包括一些示例数据作为ascii数据表,或者提供一个SQLFIDLE、com。。并将预期结果作为ascii数据表。。因为这个问题没有一个最小的、完整的、可验证的例子,所以这个问题很可能被投票关闭。