【问题标题】:Find ids in sets of ids in a string - MYSQL [duplicate]在字符串中的ID集中查找ID - MYSQL [重复]
【发布时间】:2017-05-19 17:41:23
【问题描述】:

我有一列 likes,我将 id 存储在逗号分隔的字符串中:76,88

我想从另一个 id 在 78,88

的表中选择行

我尝试使用 MYSQL IN() 函数,但它只获得第一个 id 78

那么如何在同一个查询字符串中解决呢?

SELECT  u.user_id,
        u.username,
        u.firstname,
        u.lastname,u.status

        FROM users u WHERE u.user_id IN(
            SELECT likes FROM posts WHERE post_id='200'
        )

谢谢。

【问题讨论】:

    标签: mysql


    【解决方案1】:

    FIND_IN_SET() 函数返回一个字符串在第二个字符串中的位置。当字符串列表中不存在搜索字符串时返回零。

    语法:

    FIND_IN_SET(argument1,argument2)

    SQL 将如下所示:

    SELECT  u.user_id,
            u.username,
            u.firstname,
            u.lastname,u.status
    
            FROM users u WHERE FIND_IN_SET(u.user_id,
                (SELECT likes FROM posts WHERE post_id='200') 
            )
    

    注意:argument1 是一个字符串,用于检查argument2 中的逗号分隔字符串

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-05
      • 2012-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      相关资源
      最近更新 更多