统计 - 问一个sql查询问题,用的是mysql数据库

查看:107
本文介绍了统计 - 问一个sql查询问题,用的是mysql数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

现在这么一个表,要怎么获取在tagId字段同时包含1,2,3,4的结果集的goodsId?
id | tagId | goodsId |gname
1 | 1 | 1 | 电视
2 | 2 | 1 | 电视
3 | 3 | 1 | 电视
4 | 1 | 2 | 冰箱
5 | 2 | 2 | 冰箱
6 | 3 | 2 | 冰箱
7 | 4 | 2 | 冰箱
排版不好,上个截图:

解决方案

select goodsId from (
    select goodsId,GROUP_CONCAT(tagId) as tags from tags group by goodsId order by tagId desc 
) as T
WHERE FIND_IN_SET('1',tags) and FIND_IN_SET('2',tags) and FIND_IN_SET('3',tags) and FIND_IN_SET('4',tags)


select goodsId from (
    select goodsId,GROUP_CONCAT(tagId) as tags from tags group by goodsId order by tagId desc 
) as T
WHERE tags = '1,2,3,4'

这篇关于统计 - 问一个sql查询问题,用的是mysql数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆