SQL分组在一个级别,具有另一个级别

时间:2017-05-24 13:22:03

标签: sql

使用任何SQL引擎(SQL server / Teradata)我需要执行以下操作:

我有这张桌子:

Class | sub class | student | income

所以我需要按类和子类分组,有和(收入)> 10.但我需要显示该类和子类中的学生。 (所以我不能强迫在where子句中进行查询......因为它有两个字段)

1 个答案:

答案 0 :(得分:0)

如果我对您的问题的理解是正确的,那么以下内容应该适用于Oracle。在MS-SQL的情况下,替换||与数据库特定的连接运算符。

SELECT 
     CLASS, SUBCLASS, STUDENT
FROM MYTABLE 
WHERE 
    CLASS||SUBCLASS 
IN (
    SELECT 
         CLASS||SUBCLASS 
    FROM 
         (SELECT 
                CLASS, SUBCLASS, SUM(INCOME) 
          FROM 
                MYTABLE 
          WHERE 
                SUM(INCOME)>10)
          )
    )