1

这是我的表格示例:

LETTER  NUMBER
a   1
a   2
a   4
b   1
b   2
b   3
c   1
c   2
c   3
d   1
d   2
d   3
e   1
e   2
e   3


我想要的结果:

LETTER  NUMBER
a   2
b   2
c   2
d   2
e   2

与“a”匹配的最大数字是 4,而其他字母则为 3。但是,它们共有的最高字母是 2。这就是结果表中 NUMBER 为 2 的原因。

有谁知道我怎么能做到这一点?

4

1 回答 1

3

让我们打电话给你的桌子l。这是一个非常低效的解决方案:

select l.LETTER, max(l.NUMBER)
from l
where
    (select count(distinct LETTER) from l)
  = (select count(distinct l2.LETTER) from l as l2 where l2.NUMBER = l.NUMBER)
group by l.LETTER;

有点乱是吧?

于 2012-08-21T20:16:21.543 回答