通过关联表中的手机号判断某一天消费次数大于3的用户信息的sql怎么写?
时间: 2024-05-04 14:15:11 浏览: 123
假设关联表名为"consumption_records",手机号字段为"phone_number",消费日期字段为"consumption_date",消费次数字段为"consumption_times",用户信息表名为"users",包含用户手机号字段"phone_number"和其他用户信息字段。
可以使用以下SQL语句来查询某一天消费次数大于3的用户信息:
```
SELECT u.*
FROM users u
WHERE u.phone_number IN (
SELECT cr.phone_number
FROM consumption_records cr
WHERE cr.consumption_date = '2021-08-01'
GROUP BY cr.phone_number
HAVING COUNT(*) > 3
);
```
解释:
1. 对于消费记录表"consumption_records",首先筛选出消费日期为指定日期('2021-08-01')的记录;
2. 然后按照手机号分组,统计每个手机号在该日期消费的次数;
3. 最后,筛选出消费次数大于3的手机号;
4. 使用IN子句将符合条件的手机号作为参数,查询用户信息表"users"中对应的用户信息。
阅读全文