学生 | teacher | 学习评价 | 品德评价 | 学习评价分数 | 品德评价分数 |
---|---|---|---|---|---|
张三 | 王 | A | B | 86 | 98 |
张三 | 李 | B | A+ | 75 | 56 |
李四 | 钟 | A | A- | 70 | 98 |
李四 | 陈 | A | B | 60 | 89 |
王五 | 钱 | A+ | A | 77 | 97 |
规则是取学习评价最高分数对应的学习评价和最低分数的品德评价
结果显示为:
学生 | teachers | 学习评价 | 品德评价 |
---|---|---|---|
张三 | 王,李 | A | A+ |
李四 | 钟,陈 | A | B |
王五 | 钱 | A+ | A |
学生 | teacher | 学习评价 | 品德评价 | 学习评价分数 | 品德评价分数 |
---|---|---|---|---|---|
张三 | 王 | A | B | 86 | 98 |
张三 | 李 | B | A+ | 75 | 56 |
李四 | 钟 | A | A- | 70 | 98 |
李四 | 陈 | A | B | 60 | 89 |
王五 | 钱 | A+ | A | 77 | 97 |
规则是取学习评价最高分数对应的学习评价和最低分数的品德评价
结果显示为:
学生 | teachers | 学习评价 | 品德评价 |
---|---|---|---|
张三 | 王,李 | A | A+ |
李四 | 钟,陈 | A | B |
王五 | 钱 | A+ | A |
SELECTname
,
GROUP_CONCAT(teacher),
SUBSTRING(
max(concat(LPAD(xx_score,3,"0"),",",xx_pj)),5),
SUBSTRING(
min(concat(LPAD(pd_score,3,"0"),",",pd_pj)),5)
FROM
student_score
group by name
上面这个是mysql的
SELECTname
,
LISTAGG(teacher,",") WITHIN GROUP(ORDER BY teacher),
SUBSTR(
max(concat(LPAD(xx_score,3,"0"),",",xx_pj)),5),
SUBSTR(
min(concat(LPAD(pd_score,3,"0"),",",pd_pj)),5)
FROM
student_score
group by name
下面这个是oracle的