如何列出大于平均值的特定数据条目值

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
)