gpt4 book ai didi

php - 在 LEFT JOIN 子查询中显示 COUNT?

转载 作者:行者123 更新时间:2023-11-29 09:05:06 25 4
gpt4 key购买 nike

我有一个查询,用于选择选定时间段之间的订单信息。我想包含一个 where 子句,将订单信息限制为所有订单总数只有 1 个的订单(一直以来)。

这是我到目前为止所拥有的:

SELECT o.orders_id, o.customers_id, o.customers_name, o.payment_method, o.date_purchased,o.orders_status, o.shipping_status, ot.value 
FROM orders as o
LEFT JOIN orders_total as ot ON o.orders_id = ot.orders_id
WHERE date_purchased between '2011-07-30' AND '2011-08-30 23:59:59'
AND ot.class = 'ot_total'
AND o.customer_service_id = ''
OR o.customer_service_id IS NULL
ORDER BY orders_id DESC

此查询提供指定时间段内的所有订单。我需要包含一个子查询(或类似的东西)来计算所有以前的(整个时间)订单(order_count)BYcustomers_id。然后在 where 子句中包含“HAVING order_count < 2”。

这可能吗?这有道理吗?

最佳答案

只需将其添加到您附近的位置即可:

AND (
SELECT COUNT(o.id)
FROM orders o2
WHERE o2.customers_id = o.customers_id
) < 2

或者,如果您想返回订单计数,请将其添加到 SELECT 子句中,并添加 HAVING 子句:

SELECT o.orders_id, ..., (
SELECT COUNT(o.id)
FROM orders o2
WHERE o2.customers_id = o.customers_id
) as orders_count
...
HAVING orders_count < 2

关于php - 在 LEFT JOIN 子查询中显示 COUNT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7248224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com