如果 运算符值匹配并且为真,我正在尝试获取所有记录。

我有 table 票。

---------------------------
: id  :  ticket : user_id :
---------------------------
: 1   : 2546    : 2       :
---------------------------
: 2    : 8475    : 2      :
---------------------------

我正在尝试这个查询
SELECT * FROM `ticket` WHERE `ticket` LIKE '%2546%'

上面的查询返回单个结果并且工作正常。但是如果 运算符值匹配并且表有更多记录该行 user_id ,我需要两行。我试过分组
SELECT * FROM `ticket` WHERE `ticket` LIKE '%2546%'
GROUP BY `user_id `

我知道如果使用 user_id = 2 而不是 likeGroup By 运算符就可以完成,但我需要按 ticket 列进行过滤。那么这有可能在单个查询中实现这种任务吗?

最佳答案

使用嵌套查询:

SELECT *
FROM ticket t1
WHERE user_id IN (
    SELECT DISTINCT user_id
    FROM ticket t2
    WHERE ticket LIKE '%2456%'
);

关于mysql - 如果使用mysql匹配运算符值,如何从表中获取所有行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37834196/

10-11 19:59