mysql - 即使在 MySQL 中的空结果,如何获得过去每一天的结果?
问题描述
我有两张桌子:
- 商人
- 商家价格
现在我想获取每个商家在过去 x 天内每天的价格。
一些商家没有每天的价格,而其他商家可能没有任何价格。然而,在这种情况下,列表应该返回 NULL。
例如
210315 Amazon 12,99
210315 ebay 11,99
210315 BestBuy NULL
210314 Amazon NULL
210314 ebay 11,40
210314 BestBuy NULL
到目前为止,我的 SQL 查询如下所示:
SELECT
UNIX_TIMESTAMP(date) DIV 86400 * 86400 AS "time",
m.name AS metric
FROM merchants m
LEFT JOIN merchants_prices p ON p.MERCHANT_ID = m.id
WHERE
m.status = 'active'
AND p.article_id = '88'
AND p.date BETWEEN FROM_UNIXTIME(1613371073) AND FROM_UNIXTIME(1615963073)
它的问题是,在商店没有结果的日子里,它不会返回 NULL 值。我相信我需要以某种方式涉及一个日期表/函数来保证每天的结果,但我不知道如何。
解决方案
推荐阅读
- amazon-web-services - API Gateway 资源策略:将 IAM 角色指定为 AWS 委托人
- javascript - 从浏览器中的对象获取数据
- bash - 获取上次提交中更改的目录列表
- sql - SQL Joined Tables - 每个“on”匹配字段的连接表上的多行合并为一行?
- ruby-on-rails - 无法成功部署到 Beanstalk
- mongodb - 分层架构/项目结构怎么可能?- 在 Spring Boot Reactive 之上的 Vaadin 与 MongoDB 反应
- java - 使用 Spring 将 DataSource 与 Transaction 一起使用
- python - 使用 jira-python 标记/取消标记 JIRA 问题的问题
- python - 检查两个排序的字符串在 O(log n) 时间内是否相等
- python - Networkx 旅行商问题 (TSP)