Php 在mysql中获取特定周的产品计数
我有三张桌子Php 在mysql中获取特定周的产品计数,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有三张桌子 Orders id | name | order_date | total ------------------------------ 1 | ABCD | 2017-03-29 | 60 2 | KJHS | 2017-03-29 | 80 3 | HGGG | 2017-03-30 | 90 item_orders id | order_id | item_id ----------------------- 1 | 1 | 1 2 | 1
Orders
id | name | order_date | total
------------------------------
1 | ABCD | 2017-03-29 | 60
2 | KJHS | 2017-03-29 | 80
3 | HGGG | 2017-03-30 | 90
item_orders
id | order_id | item_id
-----------------------
1 | 1 | 1
2 | 1 | 2
3 | 2 | 1
4 | 2 | 2
items
id | item_name | desc | price |
---------------------------------
1 | Brown | jdsa | 20
Cardigan XL
---------------------------------
2 | Red Socks | sada | 30
---------------------------------
我写的问题是
SELECT orders.*, item_orders.item_id,items.item_name,items.description,items.price
FROM ((orders
INNER JOIN item_orders ON orders.id = item_orders.item_id)
INNER JOIN items ON item_orders.item_id = items.id)
WHERE WEEKOFYEAR(orders.order_date)=WEEKOFYEAR(NOW());
现在,我想从本周的订单表中获取物品总数及其总数。
类似的内容显示了本周的统计数据
BrownCardigan XL 12 $200
Red Socks 15 $350
像这样的。
我通过上面的查询从订单表中获取数据,现在我被困在如何从订单表中计算项目以及本周的价格总和中
您可以使用聚合功能和分组方式
SELECT items.item_name, sum(orders.total), sum(orders.total*items.price)
FROM orders
INNER JOIN item_orders ON orders.id = item_orders.item_id
INNER JOIN items ON item_orders.item_id = items.id
WHERE WEEKOFYEAR(orders.order_date)=WEEKOFYEAR(NOW()
GROUP BY items.item_name
;
我认为我没有得到正确的记录。它只返回28和29日的数据