计数作为一个查询出来的列

yue     name     s

1         张三       w

1          张三      w

1          李四     w

1         李四     s

1        王五       w

1        王五      w

2        张三     w

2        张三      s

2         李四      w

2          李四    w

3          王五     w

3           王五   w

数据在上面

需要得到的结果是判断出来 每个人每个月 在s字段中有没有两个w  有的话加入 对 没有加入错

3           王五

FineReport SQL 3333xzx 发布于 2022-9-26 15:15
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-9-26 15:21(编辑于 2022-9-26 15:22)

select t.*,case when t.个数>=2 then '对' else '错' end as 判断 from (

select yue,name,sum(case when s='W' then 1 else 0 end) as 个数 from 表名称

group by yue,name) t

  • 3333xzx 3333xzx(提问者) 请问这个from 第一行后面跟什么呢...
    2022-09-26 15:36 
  • CD20160914 CD20160914 回复 3333xzx(提问者) 我上面的语句就是子查询呀。。。你from就是子查询后面group by得出的结果呀。。括号里面的
    2022-09-26 15:37 
  • 3333xzx 3333xzx(提问者) 回复 CD20160914 噢噢。。。
    2022-09-26 15:43 
最佳回答
0
鱼丸粗面Lv4见习互助
发布于2022-9-26 15:23

SELECT yue,name,CASE WHEN s = 'w' THEN '1' ELSE '0' END 判断 FROM 表直接用case when 判断,然后把结果求和,计算结果等于2 就意味着在s字段中有两个w 

  • 3关注人数
  • 323浏览人数
  • 最后回答于:2022-9-26 15:23
    请选择关闭问题的原因
    确定 取消
    返回顶部