首页 > 解决方案 > 即使在 MySQL 中的空结果,如何获得过去每一天的结果?

问题描述

我有两张桌子:

  1. 商人
  2. 商家价格

现在我想获取每个商家在过去 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 值。我相信我需要以某种方式涉及一个日期表/函数来保证每天的结果,但我不知道如何。

标签: mysql

解决方案


推荐阅读