mysql - 来自 mySQL 查询的意外结果

标签 mysql

我的问题是我没有得到我需要的正确输出。

我有三个表

产品

id  title
1   aaa
2   bbb
3   ccc

订单

id  order_date
1   01-20-2016
2   02-27-2016
3   03-29-2016

订单详情

id  prod_id   order_id  quantity
1   1           1           1   
2   3           1           1
3   2           2           2
4   1           2           1
5   3           2           1
6   2           3           1
7   1           3           2

不是预期的输出

title   date        Quantity
aaa     January         2
aaa     February        4
aaa     March           3

我期望的输出

title   date        quantity
aaa     January         1
aaa     Febuary         1
aaa     March           2
bbb     January         0
bbb     Febuary         2
bbb     March           1
ccc     January         1
ccc     February        1
ccc     March           0

这是我目前的查询。

SELECT products.title, DATE_FORMAT(orders.order_date, '%M') as date, SUM(order_details.quantity) as quantity 
FROM products, orders, order_details 
WHERE products.id = order_details.product_id and orders.id = order_details.order_id
GROUP BY date

有人可以帮助我获得预期的输出吗?提前致谢。

最佳答案

您的 GROUP BY 缺少标题字段,因此仅使用月份

尝试

GROUP BY title, date

关于mysql - 来自 mySQL 查询的意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41022823/

相关文章:

php - 无法将两个数组合并为一个来获取 SQL 查询

mysql - 500 启动新用户 session 时生产适配器 rails 出错

mysql - 从记录中删除 HTML 标签

mysql - show create table 的实际用法?

mysql - 如果没有结果,选择 COUNT (*) 失败

MySQL比较两个表并添加缺失值

mysql - 如果我为自增字段指定任何值,如何获取下一个或上一个值?

PHP 在连接到 MySql 时忽略 ssl 证书

mysql - 如何存储稍后可以轻松进行子集化的大矩阵(数据框)

php - 如何从 mysql 中选择最近 7 天的结果(带有自定义数据字段)?