sql查找一列中某一数值出现次数大于2的记录

用户id评分122212311422筛选出评分值为2的次数大于等于2,且评分值为4的次数大于等于1的用户记录。比如这个筛选结果就是用户id1.跪求大神如何写sql语句。万... 用户id 评分
1 2
2 2
1 2
3 1
1 4
2 2

筛选出评分值为2的次数大于等于2,且评分值为4的次数大于等于1的用户记录。

比如这个筛选结果就是用户id 1.
跪求大神如何写sql语句。
万分感谢!
展开
 我来答
badkano
推荐于2018-02-22 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885368
团长

向TA提问 私信TA
展开全部

需要用group by中的having子句。

1、如test表中有如下数据:

2、现要查出dept出现2次以上的dept。可用如下语句:

select dept from test group by dept having count(*) >2;

3、查询结果:

blademaster717
2015-07-25 · TA获得超过1456个赞
知道小有建树答主
回答量:882
采纳率:97%
帮助的人:369万
展开全部
select 用户id from 表名 where 评分=2 group by 用户id having count(评分)>=2
union
select 用户id from 表名 where 评分=4 group by 用户id having count(评分)>=1
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xpy0928
2015-07-25 · TA获得超过582个赞
知道小有建树答主
回答量:461
采纳率:50%
帮助的人:332万
展开全部
select 用户id from 表 where 评分 in
(
    select 评分,count(评分)as  [times] from 表 as t group  by 评分
    where t.评分=2 and  t.[times]>=2 and t.评分=4 and t.[times]>=1
)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式