SQL中具有最大值的分组依据

SQL中具有最大值的分组依据,sql,greatest-n-per-group,Sql,Greatest N Per Group,我正在尝试使用group by函数检索max(CRN),以检索CRN之外的重复记录,但它不起作用: 以下是我的选择声明: select max(CRN), TERM, SUBJECT, COURSE, SCH, R_KEY, R_PERC from database group by TERM, SUBJECT, COURSE, SCH, R_KEY, R_PERC 下面是我的输入文件: CRN TERM SUBJECT COURSE SCH

我正在尝试使用group by函数检索max(CRN),以检索CRN之外的重复记录,但它不起作用: 以下是我的选择声明:

    select max(CRN), TERM, SUBJECT, COURSE, SCH, R_KEY, R_PERC 
    from database 
     group by        TERM, SUBJECT, COURSE, SCH, R_KEY, R_PERC
下面是我的输入文件:

CRN  TERM   SUBJECT COURSE  SCH   R_KEY R_PERC
10607      10   DGRG    230  K  36714   37
10607      10   DGRG    230  K  36715   38
11658      10   MATH    101  E  213162  100
11658      10   MATH    101  L  182471  100
12811      10   MHRM    310  L  32951   50
12811      10   MHRM    310  L  130923  50
12879      10   MHRM    310  L  32738   50
12879      10   MHRM    310  L  32951   50
12912      10   MHRM    310  L  120641  50
12912      10   MHRM    310  L  121008  50
我期望以下输出与(以上输入)相同,因为我有不同的“R_PERC”或“R_键”:

但我的实际输出仅为CRN 12811的一条记录,如下所示,请注意,如果我们将上述输入文件包含在更大的文件记录中,则所有CRN的输出将类似(仅指一条记录):

CRN  TERM   SUBJECT COURSE  SCH   R_KEY R_PERC
10607      10   DGRG    230  K  36714   37
10607      10   DGRG    230  K  36715   38
11658      10   MATH    101  E  213162  100
11658      10   MATH    101  L  182471  100
12811      10   MHRM    310  L  32951   50

12879      10   MHRM    310  L  32738   50
12879      10   MHRM    310  L  32951   50
12912      10   MHRM    310  L  120641  50
12912      10   MHRM    310  L  121008  50
包括计数:

+----------+----------+------+---------+--------+------+--------+--------+
| max(CRN) | count(*) | TERM | SUBJECT | COURSE | SCH  | R_KEY  | R_PERC |
+----------+----------+------+---------+--------+------+--------+--------+
|    10607 |        1 |   10 | DGRG    |    230 | K    |  36714 |     37 |
|    10607 |        1 |   10 | DGRG    |    230 | K    |  36715 |     38 |
|    11658 |        1 |   10 | MATH    |    101 | E    | 213162 |    100 |
|    11658 |        1 |   10 | MATH    |    101 | L    | 182471 |    100 |
|    12879 |        1 |   10 | MHRM    |    310 | L    |  32738 |     50 |
|    12879 |        2 |   10 | MHRM    |    310 | L    |  32951 |     50 | <-- your 12811 record is included in here, because both records have the same R_KEY
|    12912 |        1 |   10 | MHRM    |    310 | L    | 120641 |     50 |
|    12912 |        1 |   10 | MHRM    |    310 | L    | 121008 |     50 |
|    12811 |        1 |   10 | MHRM    |    310 | L    | 130923 |     50 |
+----------+----------+------+---------+--------+------+--------+--------+

你用的是什么产品?博士后?神谕“SQL”只是一种查询语言,而不是特定数据库产品的名称。。。非常令人困惑。这是Oracle DatasetHanks,但为什么Oracle数据库或MySQL数据库会做出这样的反应;意味着删除一些不重复的记录??它们不会被删除。看看我包括的第二张表。它们被分组并显示为一行,因为您尚未将CRN包括在分组依据中。12879大于12811,因此在使用max()函数时会显示该值。行为完全正确。但为什么以下记录消失了:12811 10 MHRM 310 L 130923 50而不是12811 10 MHRM 310 L 32951 50“消失”是什么意思?记录
12811 10 MHRM 310 L 130923 50
就在那里,记录
12811 10 MHRM 310 L 32951 50
就像我在组中所说的
12879 10 MHRM 310 L 32951 50
,从计数列可以看出。
+----------+----------+------+---------+--------+------+--------+--------+
| max(CRN) | count(*) | TERM | SUBJECT | COURSE | SCH  | R_KEY  | R_PERC |
+----------+----------+------+---------+--------+------+--------+--------+
|    10607 |        1 |   10 | DGRG    |    230 | K    |  36714 |     37 |
|    10607 |        1 |   10 | DGRG    |    230 | K    |  36715 |     38 |
|    11658 |        1 |   10 | MATH    |    101 | E    | 213162 |    100 |
|    11658 |        1 |   10 | MATH    |    101 | L    | 182471 |    100 |
|    12879 |        1 |   10 | MHRM    |    310 | L    |  32738 |     50 |
|    12879 |        2 |   10 | MHRM    |    310 | L    |  32951 |     50 | <-- your 12811 record is included in here, because both records have the same R_KEY
|    12912 |        1 |   10 | MHRM    |    310 | L    | 120641 |     50 |
|    12912 |        1 |   10 | MHRM    |    310 | L    | 121008 |     50 |
|    12811 |        1 |   10 | MHRM    |    310 | L    | 130923 |     50 |
+----------+----------+------+---------+--------+------+--------+--------+
+-------+------+---------+--------+------+-------+--------+
| CRN   | TERM | SUBJECT | COURSE | SCH  | R_KEY | R_PERC |
+-------+------+---------+--------+------+-------+--------+
| 12811 |   10 | MHRM    |    310 | L    | 32951 |     50 |
| 12879 |   10 | MHRM    |    310 | L    | 32951 |     50 |
+-------+------+---------+--------+------+-------+--------+