繁体   English   中英

PHP和SQL-如何选择当年所有月份中最高的金额?

[英]PHP and SQL - How to select highest sum of all months in a current year?

所以我在数据库中有属性为:id,dateItem,price的表“ item”。

我想找到当年某个月的MAX(SUM(price))。

id  dateItem (Format: yyyy-mm-dd)    price
1   25.06.2015.                      986,69
2   21.06.2015.                      1564
3   22.03.2015.                      23,56
4   21.03.2015.                      187,23
5   01.03.2015.                      489,33
6   06.10.2015.                      975,26

我想出了类似的方法,但我知道这还不行。 请帮助:s

$sql = "SELECT MAX(SUM(price)) FROM item WHERE DATE('Y') = 2015 AND 
dateItem between DATE('Y/m/1') and DATE('Y/m/31')";

您不能嵌套聚合功能。 您需要使用子查询。

SELECT MAX(pricesum) 
FROM (SELECT SUM(price) AS pricesum
      FROM item
      WHERE YEAR(dateItem) = YEAR(NOW())
      GROUP BY MONTH(dateItem)) AS subquery

您可以使用ORDER BYLIMIT执行此操作:

SELECT SUM(price) AS pricesum
FROM item
WHERE YEAR(dateItem) = YEAR(NOW())
GROUP BY MONTH(dateItem)
ORDER BY pricesum DESC
LIMIT 1;

如果您还想知道月份,则可以将其包括在SELECT子句中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM