Mysql SQL-我需要显示2012年销售的商品名称、商品价格和数量
我需要显示2012年的商品名称、商品价格和销售数量。我有这个:Mysql SQL-我需要显示2012年销售的商品名称、商品价格和数量,mysql,sql,sql-server,Mysql,Sql,Sql Server,我需要显示2012年的商品名称、商品价格和销售数量。我有这个: 选择m.item_name、m.price、COUNT(od.qty)作为数量、日期_格式(om.odate、%Y')作为日期 从菜单中选择m,订单详情选择od,订单主菜单选择om 其中m.id=od.orderid和日期_格式(om.odate,'%Y')='2012' 按m.item\u名称分组 按数量订购ASC 限制7; 这就给了我: 我需要让它看起来像这样: 我该怎么办?您要找的是sum()而不是count() 请检查
选择m.item_name、m.price、COUNT(od.qty)作为数量、日期_格式(om.odate、%Y')作为日期
从菜单中选择m,订单详情选择od,订单主菜单选择om
其中m.id=od.orderid和日期_格式(om.odate,'%Y')='2012'
按m.item\u名称分组
按数量订购ASC
限制7;
这就给了我:
我需要让它看起来像这样:
我该怎么办?您要找的是
sum()
而不是count()
请检查此项,它将有助于美化sql表输出:) 如果不希望在输出中显示日期,请从select查询中删除日期_格式(om.odate,“%Y”)作为日期 我相信你的问题一定是: 从菜单中选择m项目名称、m价格、计数(od数量)作为数量作为m, 订单详细信息为od,订单主信息为om,其中m.id=od.orderid和 日期格式(om.odate,'%Y')='2012'按m.item分组\u名称按数量排序 ASC限值7
大约在1992年,这种连接方式实际上遭到了反对。不管怎么说,在这里一般都不鼓励这样做。
SELECT m.item_name
, SUM(m.price) as price
, SUM(od.qty) as qty
, DATE_FORMAT(om.odate, '%Y') as date
FROM menu as m
INNER JOIN order_detail od ON od.orderid = m.id
WHERE DATE_FORMAT(om.odate, '%Y') = '2012'
GROUP BY m.item_name, DATE_FORMAT(om.odate, '%Y')
ORDER BY od.qty ASC
LIMIT 7;