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

如何构造SQL查询满足AWS Personalize25个每位至少2条记录的唯一用户配额要求

适配AWS Personalize配额的Athena查询方案

实现逻辑为优先固定筛选出符合交互次数要求的25位以上用户,再拉取对应交互记录保证总条数≥1000,即可稳定满足配额要求,无需拉取全量数据集,适配POC场景需求。

修改后的查询语句如下:

SELECT C.productid AS ITEM_ID,
    A.userid AS USER_ID,
    A.createdon AS "TIMESTAMP",
    B.fromaddress_countryname AS "LOCATION"
FROM A AS orders
    JOIN B AS sub_orders ON orders.order_id = sub_orders.order_id
    JOIN C AS order_items ON orders.order_id = order_items.order_id
WHERE orders.userid IN (
        SELECT userid
        FROM A AS ORDERS
        GROUP BY userid
        HAVING count(*) >= 2
        -- 如需固定用户样本,保留下行;如需随机抽取用户样本,替换为 ORDER BY RAND()
        ORDER BY userid
        -- 可调整为30预留冗余,避免JOIN导致部分用户记录丢失后用户数不足25
        LIMIT 25
    )
-- 可根据POC需要调整大小,只要≥1000即可满足配额要求
LIMIT 1500

核心修改点说明:

  • 将原语句HAVING count(*) > 2调整为HAVING count(*) >= 2,刚好匹配配额要求的「每位用户至少2条记录」规则,不会过滤掉刚好只有2条记录的合格用户
  • 子查询新增LIMIT 25,确保最少覆盖25个符合要求的唯一用户,解决数据未打乱时仅用外层LIMIT可能导致返回用户数不足的问题
  • 外层LIMIT调整为1500,既控制了数据集大小避免拉取全量,也能稳定满足总记录数≥1000的配额要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:15:08