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 に答える