【发布时间】:2021-01-05 11:09:17
【问题描述】:
我编写了这个 SQL 查询来获取数据库中每个客户的数据。
如您所见,我正在尝试获取未付款订单的总数和我的查询的订单总数。
我最后的目标是只获得未付款订单的用户(我想我必须在查询结束时使用HAVING)。
这是我的查询
SELECT
u.id,
u.first_name,
u.last_name,
u.email,
u.phone,
(SELECT COUNT(*) FROM account_order WHERE account_order.user_id = u.id AND account_order.is_paid = False AND account_order.max_meals > 0) as total_not_paid,
(SELECT COUNT(*) FROM account_order WHERE account_order.user_id = u.id) AS total_orders
FROM account_user u
您认为有更好的方法来获取记录吗?
如何获取只有一个total_not_paid 和一个total_order 的用户?
【问题讨论】:
标签: sql postgresql performance optimization heroku-postgres