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

如何编写SQL查询关联指定Item的对象并按匹配数排序?

解决方案

实现SQL语句

SELECT 
    t1.id, 
    t1.title, 
    COUNT(t3.item_id) AS match_count
FROM 
    表1 t1
JOIN 
    表3 t3 ON t1.id = t3.object_id
WHERE 
    t3.item_id IN (2, 3)
GROUP BY 
    t1.id, t1.title
ORDER BY 
    match_count DESC, t1.id ASC;

逻辑说明

  1. 关联筛选:通过JOIN关联表1(对象表)和表3(关联表),用WHERE子句筛选出关联item_id为2或3的记录;
  2. 统计匹配数:按表1的id和title分组,用COUNT()统计每个对象匹配的目标item数量;
  3. 排序规则:先按匹配数量match_count降序排列,数量相同时按对象id升序排列,最终得到预期结果顺序:object 2(2次匹配)、object 3(2次匹配)、object 1(1次匹配)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:02:02