如果使用 mysql 运算符值匹配,如何从 table 中获取所有行?

How to fetch all rows from table if like operator value match using mysql?

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

我有 table 票。

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

我正在尝试这个查询

SELECT * FROM `ticket` WHERE `ticket` LIKE '%2546%'  

以上查询返回单个结果并且工作正常。但是,如果 like 运算符值匹配并且 table 具有该行的更多记录 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%'
);

使用自连接作为

SELECT U . * 
FROM  `ticket` t, `ticket` U
WHERE t.`ticket` LIKE  '%2546%'
AND t.`user_id` = U.`user_id`