我正在使用此代码尝试查找包含订单/客户信息的数据库的首次购买日期。我过去一直使用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