有这么一张表trade,记录着毛巾和枕头的交易信息,表结构如图a:
(a)
目前的数据如图b:
(b)
现在要查询出每天每个商品交易的总价,如下图所示:
(c)
那么该如何查询呢?
方法不唯一,这里先列举了一种方法:
select DATE_FORMAT(created_time,'%Y-%m-%d') as '日期', sum(if(product='毛巾',price,0)) as '毛巾', sum(if(product='枕头',price,0)) as '枕头' from trade GROUP BY DATE_FORMAT(created_time,'%Y-%m-%d');
利用sum if 来实现这种分组横向的效果,但是这个有局限性,应该还有更好的方法,期待大神秀一波操作。