如何列出大于平均值的特定数据条目值
how to list specific data entrie values greater than the average
嗨,我必须展示 noetud 和 note_final,它们大于 nocours 420111TT 在 lasession A2019 期间的平均值 note_final。我如何在 mysql 中写下这个查询?谢谢你的帮助,我正在为学校学习所有这些东西,发现它很有趣但也很有挑战性,这真的让我现在很困惑。
nocours
noetud
lasession
date_inscrite
note_final
320112TT
ALCE7888
H2019
2019-01-06
90
320112TT
GAPM9076
H2019
2019-01-06
65
320112TT
HEPP8945
H2019
2019-01-06
87
320112TT
PATE8756
H2019
2019-01-06
70
420111TT
ALCE7888
A2019
2019-09-08
78
420111TT
GAPM9076
A2019
2019-09-08
75
420111TT
HILA7890
A2019
2019-09-08
77
420111TT
PATE8756
A2019
2019-09-08
83
444678TT
ALCE7888
E2019
2019-06-21
85
444678TT
HILA7890
E2019
2019-06-21
80
444678TT
PATE8756
E2019
2019-06-21
90
如果我没听错,您希望给定 (nocrous, lasession)
的所有行都高于平均值
一个选项使用 window 个函数:
select *
from (
select t.*, avg(note_final) over() avg_note_final
from mytable t
where nocrous = '420111TT' and lasession = 'A2019'
) t
where note_final > avg_note_final
在 MSQL 版本 5.x 中,您可以改用子查询:
select t.*
from mytable t
where nocrous = '420111TT' and lasession = 'A2019' and note_final > (
select avg(t1.note_final)
from mytable t1
where t1.nocrous = t.nocrous and t1.lasession = t.lasession
)
嗨,我必须展示 noetud 和 note_final,它们大于 nocours 420111TT 在 lasession A2019 期间的平均值 note_final。我如何在 mysql 中写下这个查询?谢谢你的帮助,我正在为学校学习所有这些东西,发现它很有趣但也很有挑战性,这真的让我现在很困惑。
nocours | noetud | lasession | date_inscrite | note_final |
---|---|---|---|---|
320112TT | ALCE7888 | H2019 | 2019-01-06 | 90 |
320112TT | GAPM9076 | H2019 | 2019-01-06 | 65 |
320112TT | HEPP8945 | H2019 | 2019-01-06 | 87 |
320112TT | PATE8756 | H2019 | 2019-01-06 | 70 |
420111TT | ALCE7888 | A2019 | 2019-09-08 | 78 |
420111TT | GAPM9076 | A2019 | 2019-09-08 | 75 |
420111TT | HILA7890 | A2019 | 2019-09-08 | 77 |
420111TT | PATE8756 | A2019 | 2019-09-08 | 83 |
444678TT | ALCE7888 | E2019 | 2019-06-21 | 85 |
444678TT | HILA7890 | E2019 | 2019-06-21 | 80 |
444678TT | PATE8756 | E2019 | 2019-06-21 | 90 |
如果我没听错,您希望给定 (nocrous, lasession)
的所有行都高于平均值
一个选项使用 window 个函数:
select *
from (
select t.*, avg(note_final) over() avg_note_final
from mytable t
where nocrous = '420111TT' and lasession = 'A2019'
) t
where note_final > avg_note_final
在 MSQL 版本 5.x 中,您可以改用子查询:
select t.*
from mytable t
where nocrous = '420111TT' and lasession = 'A2019' and note_final > (
select avg(t1.note_final)
from mytable t1
where t1.nocrous = t.nocrous and t1.lasession = t.lasession
)