我有张表 字段是姓名和5门课程姓名 语文 数学 英语 物理 化学
张三 优 良 优 中 差
李四 优 优 优 优 良
王五 良 良 良 良 优
现在我有两个需求1.要选出至少三门或三门以上课程成绩一样的记录,比如 语数外都是优 或者语外物理化学都是良这样的记录
2.还是至少三门或三门以上课程成绩一样的记录,但语数这两门课都要在里面
张三 优 良 优 中 差
李四 优 优 优 优 良
王五 良 良 良 良 优
现在我有两个需求1.要选出至少三门或三门以上课程成绩一样的记录,比如 语数外都是优 或者语外物理化学都是良这样的记录
2.还是至少三门或三门以上课程成绩一样的记录,但语数这两门课都要在里面
where
(语文=数学 and 语文=英语)
OR
(语文=数学 and 语文=物理)
OR
(语文=数学 and 语文=化学)
OR
(语文=英语 and 语文=物理)
OR
(语文=英语 and 语文=化学)
OR
(语文=物理 and 语文=化学)
or
(数学 =英语 and 数学 =物理)
or
(数学 =英语 and 数学 =化学)
or
(数学 =物理 and 数学 =化学)
or
(英语 =物理and 英语 =化学)
from tab unpivot(val for item in(语文 , 数学 , 英语 , 物理 , 化学))
group by 姓名, val
having count(1) >= 3;select 姓名, val, count(1), sum(decode(item, '语文', 1, '数学', 1, 0))
from tab unpivot(val for item in(语文 , 数学 , 英语 , 物理 , 化学))
group by nn, val
having sum(decode(item, '语文', 1, '数学', 1, 0)) = 2
and count(1) >= 3
;