You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQLite基于特定条件查询存在多条活跃记录的客户对应数据行

符合要求的SQL查询语句及说明
  • 实现逻辑:先统计每个客户的活跃记录(即end_record_date = '00:00:00'的记录)数量,筛选出活跃数≥2的客户编号,再返回这些客户对应的所有活跃记录行。

写法1:子查询+IN子句(全版本SQLite兼容)

将代码中的你的表名替换为实际存储客户数据的表名即可运行:

SELECT row_id, customer_number, end_record_date
FROM 你的表名
WHERE end_record_date = '00:00:00'
  AND customer_number IN (
    SELECT customer_number
    FROM 你的表名
    WHERE end_record_date = '00:00:00'
    GROUP BY customer_number
    HAVING COUNT(*) >= 2
);

写法2:窗口函数(SQLite 3.25及以上版本支持)

WITH customer_active_cnt AS (
    SELECT 
        row_id, 
        customer_number, 
        end_record_date,
        COUNT(*) OVER (PARTITION BY customer_number) AS active_count
    FROM 你的表名
    WHERE end_record_date = '00:00:00'
)
SELECT row_id, customer_number, end_record_date
FROM customer_active_cnt
WHERE active_count >= 2;

两种写法输出结果完全一致,均匹配你给出的示例需求:仅返回有≥2条活跃记录的客户对应的所有活跃数据行。

内容的提问来源于stack exchange,提问作者JB1989

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 08:15:03