为什么我的最小聚合函数查询会提取空值,我该如何解决?

时间:2019-01-28 21:11:15

标签: null aggregate-functions min

我正在使用此代码尝试查找包含订单/客户信息的数据库的首次购买日期。我过去一直使用min(paid_at)提取此信息,但是设置此特定表的方式允许在paid_at列中使用空值。我知道通常情况下,诸如min()之类的聚合函数不会计算空值,但是由于某种原因,我的是,我希望它能拉取最早记录的payd_at日期。

我尝试使用WHERE paid_at IS NOT NULL,但是它仍然带来null值。该表的paid_at的空值如此之多的原因是,该表将每个出售的商品都计为单独的行,该订单中的第一个商品具有所有信息,而接下来的行中的所有订单信息都具有空值(商品除外)是。

SELECT email, max(billing_name) as billing_name, sum(total), max(paid_at) AS recent_purchase, min(paid_at) AS first_purchase FROM order_info2
WHERE paid_at IS NOT NULL
GROUP BY email

0 个答案:

没有答案