gpt4 book ai didi

php - 通过SQL获取订单数超过2次但登录次数少于3次的客户

转载 作者:行者123 更新时间:2023-11-29 08:06:15 26 4
gpt4 key购买 nike

我正在尝试获取所有拥有 2 个以上订单但登录次数少于 3 次的客户。

当用户登录时我正在登录。

但由于某种原因,我只返回一行数据错误......

“user_log”表(user_id 19仅登录过一次)

| user_log_id | date | user_id | type | module_id | unit_id |
|-------------|------|---------|------|-----------|---------|
| 1 |"date"| 19 | 1 | NULL | NULL |
| 2 |"date"| 20 | 1 | NULL | NULL |
| 3 |"date"| 20 | 1 | NULL | NULL |
| 4 |"date"| 20 | 1 | NULL | NULL |
| 5 |"date"| 20 | 1 | NULL | NULL |
|-------------|------|---------|------|-----------|---------|

“订单”表,其中 user_id 19 有 2 个订单(删除了不必要的列)

| order_id | user_id | status |
|----------|---------|--------|
| 10 | 19 | 1 |
| 11 | 19 | 1 |
| 12 | 20 | 1 |
| 13 | 21 | 1 |
| 14 | 31 | 1 |
|----------|---------|--------|

我想要什么(User_id有2个订单,但登录次数少于3次)

| user_id |
|---------|
| 19 |
|---------|

这就是我的 SQL 现在的样子。

$sql = "SELECT 
ul.*, orders.order_id, orders.user_id, orders.firstname, orders.lastname, COUNT(ul.user_id) AS occourcence
FROM
orders
LEFT JOIN
user_log AS ul
ON
orders.user_id = ul.user_id
WHERE
orders.status = 1
AND
ul.type = 1
GROUP BY
orders.user_id
HAVING
COUNT(orders.user_id) > 1
ORDER BY
orders.order_id DESC";

最佳答案

select user_id,count(user_log_id) from user_log
where user_id in
(
select user_id from Orderes
group by user_id
having count(order_id) =2
)
group by user_id
having count(user_log_id) < 3

关于php - 通过SQL获取订单数超过2次但登录次数少于3次的客户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22682875/

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