【发布时间】:2020-03-25 09:06:08
【问题描述】:
我在mysql中遇到了复杂的问题。
我的数据库中有一些表。
示例文档(这只是简单的示例,实际数据太多了,我必须加入)
表“商家”
id name
1 arief
2 john
3 chena
表“交易”
id product_id price merchant_id date
1 1 20000 2 2020-02-01
2 5 25000 1 2020-02-01
3 2 10000 3 2020-02-02
4 2 10000 2 2020-02-02
5 3 5000 2 2020-02-02
5 2 10000 2 2020-02-03
6 3 5000 3 2020-02-04
我想知道商家每天“之前”和“之后”的交易信息进行比较
像下面这样
name_merchant sumtrx_20-02-01 sumtrx_20-02-02 sumtrx_20-02-03 sumtrx_20-02-04
arief 1 0 0 0
john 1 2 1 0
chena 0 1 0 1
我试过这个查询
select m.name, count(trx.id, trx.date = '2020-02-01') as sumtrx_20-02-01, count(trx.id, trx.date = '2020-02-02') as sumtrx_20-02-02, count(trx.id, trx.date = '2020-02-03') as sumtrx_20-02-03, count(trx.id, trx.date = '2020-02-04') as sumtrx_20-02-04 from merchant as m join transaction as trx on m.id = trx.merchant_id
group by m.name
但该查询不起作用
【问题讨论】:
-
忘记 mysql pivot 的滞后搜索。
标签: mysql sql window-functions lag