统计 - 问一个sql查询问题,用的是mysql数据库
本文介绍了统计 - 问一个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屋!
查看全文