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

MySQL:统计country列拆分数量并关联y_table查询结果

MySQL 查询方案

假设你的两张表分别为:

  • x_table:包含需要处理的country列(格式如China或China/Japan),以及其他业务字段
  • y_table:包含与国家数量对应的配置字段(比如country_count存储1/2,output_format存储需要的格式模板)

核心查询语句

SELECT 
    x.id,
    x.country,
    -- 计算拆分后的国家数量
    1 + (LENGTH(x.country) - LENGTH(REPLACE(x.country, '/', ''))) AS country_num,
    -- 获取y_table中对应的格式内容
    y.output_format
FROM 
    x_table x
JOIN 
    y_table y ON y.country_count = 1 + (LENGTH(x.country) - LENGTH(REPLACE(x.country, '/', '')))

关键逻辑说明

  • 统计国家数量:通过LENGTH(x.country) - LENGTH(REPLACE(x.country, '/', ''))计算/的个数,再加1得到实际国家数量(最多为2)
  • 关联逻辑:直接用计算出的country_num匹配y_table中对应的数量字段,获取指定格式

如果需要拆分并展示每个国家(额外需求)

如果不仅要统计数量,还要拆分出每个国家并关联,可使用SUBSTRING_INDEX拆分:

SELECT 
    x.id,
    -- 拆分第一个国家
    SUBSTRING_INDEX(x.country, '/', 1) AS country1,
    -- 拆分第二个国家(如果存在)
    CASE WHEN LOCATE('/', x.country) > 0 THEN SUBSTRING_INDEX(x.country, '/', -1) ELSE NULL END AS country2,
    y.output_format
FROM 
    x_table x
JOIN 
    y_table y ON y.country_count = 1 + (LENGTH(x.country) - LENGTH(REPLACE(x.country, '/', '')))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 07:40:37