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

如何在指定日期范围内为每一天查询2条随机记录?

解决方案:按日期批量抽取随机客户记录

假设你的客户记录表名为customer_records,包含日期字段date(格式为'YYYYMMDD')和用户ID字段user_id,可以用窗口函数实现一次查询覆盖整个日期范围,每天抽取2条随机记录:

SELECT date, user_id
FROM (
    SELECT 
        date,
        user_id,
        -- 按日期分组,组内随机排序并生成序号
        ROW_NUMBER() OVER (PARTITION BY date ORDER BY RAND()) AS rn
    FROM customer_records
    -- 限定目标日期范围
    WHERE date BETWEEN '20221201' AND '20221205'
) t
-- 筛选每组前2条随机记录
WHERE rn <= 2
ORDER BY date, rn;

不同数据库的适配说明

  • PostgreSQL:将RAND()替换为RANDOM()
  • SQL Server:由于RAND()在同批次查询中会返回固定值,建议用ORDER BY NEWID()来实现真正的随机排序,内层查询的排序部分改为ORDER BY NEWID()

这样一次执行脚本就能得到2022年12月1日至5日每天的2个随机用户ID,无需按日期单独运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 08:37:25