SELECT caller_number, called_number FROM ( SELECT caller_number, called_number, call_start_time, IF(called_number=@prev_called_number, @cnt:=@cnt+1, @cnt:=1) AS cnt, @prev_called_number:=called_number FROM call_records, (SELECT @prev_called_number:=NULL, @cnt:=1) AS vars WHERE call_start_time >= DATE_SUB(NOW(), INTERVAL 2 HOUR) AND caller_number NOT LIKE '0%' ORDER BY called_number, call_start_time ) AS t WHERE cnt >= 5
时间: 2024-04-01 11:36:36 浏览: 94
Caller-Id-DTMF.rar_caller id_full
您好!这是一个 MySQL 查询语句,用于获取最近 2 小时内,被至少 5 个不同主叫号码呼叫过的被叫号码列表。具体来说,它是通过对 call_records 表进行子查询,获取在指定时间范围内的呼叫记录,并按被叫号码和呼叫时间排序。然后通过使用 MySQL 中的 IF 函数和变量,对相邻的呼叫记录的被叫号码进行比较,统计出每个被叫号码被呼叫的次数。最后,将统计结果进行过滤,只保留被至少 5 个不同主叫号码呼叫过的被叫号码列表。如果您还有其他问题或需要更多帮助,请告诉我。
阅读全文