同一个表上的查询中的 MySQL 查询

标签 mysql sql subquery

我有一个像这样的表:

Status | Quantity | PeriodDate
------------------------------
100    | 2        | 2013-07-02
100    | 3        | 2013-07-02
100    | 5        | 2013-07-02
100    | 3        | 2013-07-03
100    | 1        | 2013-07-03
100    | 0        | 2013-07-04
100    | 0        | 2013-07-04
100    | 5        | 2013-07-04
100    | 6        | 2013-07-05
100    | 4        | 2013-07-06
100    | 8        | 2013-07-06

我需要选择数据,以便它显示范围内每个不同日期的数量计数。我本以为我可以做一些事情:

SELECT DISTINCT PeriodDate, SUM(Quantity) as TotalQuantity where PeriodDate BETWEEN '2013-07-02' AND '2013-07-04'

但这会返回包含所有数量总和的一行。

我在寻找类似的东西:

TotalQuantity | PeriodDate
--------------------------
10            | 2013-07-02
4             | 2013-07-03
5             | 2013-07-04
6             | 2013-07-05

我如何实现这一目标?

最佳答案

SELECT PeriodDate, 
       SUM(Quantity) as TotalQuantity 
from your_table
where PeriodDate BETWEEN '2013-07-02' AND '2013-07-05'
group by PeriodDate 

关于同一个表上的查询中的 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19183549/

相关文章:

sql - 如何在 T-SQL 中分配多个内联变量?

mysql - 如何在 MySQL 中仅在一个查询中将两个自定义查询与两个联接联合起来

mysql - 如何在一个表中选择多行,而在另一个表中只选择一行?

java - 数据库会被这段代码命中两次吗?

mysql - 选择在日期范围内花费超过一定金额的客户

mysql - 使用子查询更新 MySQL -- MIN(date)

mysql - 从表 B 中选择具有表 A 中的多个条件的条目

php - 如何使用 json 选择

php - 通过 PHP 从 GoDaddy 连接到远程 AWS MySQL

mysql - 半复杂数据库查询