首页 新闻 搜索 专区 学院

sql 查询问题

0
悬赏园豆:30 [已解决问题] 解决于 2019-08-17 14:53

表结构如下

chat_id 相同为一组

需要查询组中出 word 同时包含 ['斗牛', '退现'] 或者 ['扑鱼', '可', '金花'] 或者 ['xxxx','xxx','xx','x'] .......... 的 chat_id
有没有大佬知道可以提供点思路, 或者方法

用的是mysql 数据库

贴一个未成功的sql, 我这个只能一组条件的情况有效, 如果多组条件就不行了

SELECT DISTINCT(chat_id) 
FROM cut_chat  
WHERE word in ('六六','44') 
GROUP BY chat_id  
HAVING COUNT(1) >= 2
Mirck的主页 Mirck | 初学一级 | 园豆:139
提问于:2018-09-30 18:01
< >
分享
最佳答案
0

这是games表:

这是脚本:
select t.chat_id,t.word_group
from
(
select chat_id,group_concat(distinct word order by word) word_group
from games
group by chat_id
) t
where instr(t.word_group,'斗牛')
and instr(t.word_group,'退现')
;

收获园豆:15
猪仔95 | 菜鸟二级 |园豆:223 | 2019-01-18 17:49
其他回答(1)
0

SELECT chat_id FROM cut_chat WHERE ( word in ('斗牛','退现') OR word in ('66','44'))
group by chat_id

收获园豆:5
园园家的小胖子 | 园豆:207 (菜鸟二级) | 2018-10-02 15:37

你这个只能保证('斗牛','退现') 中的任意一个, 不能保证两个都出现的

支持(0) 反对(0) Mirck | 园豆:139 (初学一级) | 2018-10-08 16:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册