【问题标题】:MySQL - quering several records based on delimited stringMySQL - 根据分隔字符串查询多条记录
【发布时间】:2014-06-17 15:08:36
【问题描述】:

我有一个名为“功能”的表格:

id  feature
-----------------------
1   aa
2   bb
3   cc
4   dd
5   ee
6   ff

有没有办法根据分隔字符串查询此表? 类似:

select * from features where {some magic here} = "1,4,5"

哪个应该只返回相应的记录?

【问题讨论】:

标签: mysql delimited


【解决方案1】:

有IN 关键字,它可以使用一组值而不是您尝试的任何值。对于这个例子,它会是这样的

SELECT * FROM features WHERE id IN (1,4,5)

【讨论】:

    【解决方案2】:

    使用 IN:-

    select * 
    from features where id IN (1,4,5)
    

    或者你的意思是一个传递的字符串?

    【讨论】:

      【解决方案3】:

      像这样使用 IN 子句:

      select * from features where id IN(1,4,5);
      

      或

      select * from features where feature IN ('aa','dd','ee');
      

      【讨论】:

        【解决方案4】:

        不是 100% 确定我知道您在问什么 - 您是在尝试提取与一组 ID 匹配的所有记录还是在寻找包含特定字符串的功能?

        对于前者:

        select * from features where id in (1,4,5);
        

        对于后者:

        select * from features where feature like '%1,4,5%';
        

        【讨论】:

          猜你喜欢
          • 2022-12-02
          • 1970-01-01
          • 1970-01-01
          • 2013-10-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-24
          • 1970-01-01
          相关资源
          最近更新 更多