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

如何在MySQL中根据特定组合值查询对应的combination_id?

解决方案

你可以使用分组聚合加条件匹配的方式实现需求,假设你的表名为combination_table,以下是两种常用实现方案:

方案1:字符串拼接匹配法

该方案通过将同ID下的组合值排序后拼接成字符串,和输入的排序后组合字符串做精准匹配:

SELECT Combination_id
FROM combination_table
GROUP BY Combination_id
-- 这里的'1,3,4'替换为你排序后用逗号拼接的查询组合
HAVING GROUP_CONCAT(combination ORDER BY combination SEPARATOR ',') = '1,3,4';

如果你要查询组合1、3、5,只需要把HAVING条件中的值替换为'1,3,5'即可。

方案2:计数校验法(更严谨,避免值长度导致的匹配误差)

该方案通过过滤+计数的方式保证完全匹配,不需要处理字符串拼接:

SELECT Combination_id
FROM combination_table
-- IN后面的集合替换为你要查询的组合值
WHERE combination IN (1,3,4)
GROUP BY Combination_id
-- 数字3替换为你查询的组合的元素个数
HAVING COUNT(DISTINCT combination) = 3;

如果你的表中同一个Combination_id下不会有重复的combination值,可以把COUNT(DISTINCT)简化为COUNT(*)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 08:48:03