Q&A

  • SQL질문입니다?
DB는 Oracle를 사용하고있습니다.

그런데 A라는 Table에

B1 B2

---------

1 1

1 2

1 3

2 1

2 2

3 1

3 2

3 3

3 4

-------------------------------------------------------

이렇게 데이터가 입력되어있으면,여기서

B1를 별로 B2가 가장 큰것을 가져올려고 합니다.



----------

1 3

2 2

3 4

---------

결과값이 이렇게 나오게 할려는데 SQL문장을 어떻게 작성해야 되나요?

고수님들의 한 말씀부탁드릴께요.

2  COMMENTS
  • Profile
    지나가다가 2001.11.28 00:28
    select b1, max(b2)

    from a

    where - 조건

    group by b1



    하면 되겠죠!



    이무열 wrote:

    > DB는 Oracle를 사용하고있습니다.

    > 그런데 A라는 Table에

    > B1 B2

    > ---------

    > 1 1

    > 1 2

    > 1 3

    > 2 1

    > 2 2

    > 3 1

    > 3 2

    > 3 3

    > 3 4

    > -------------------------------------------------------

    > 이렇게 데이터가 입력되어있으면,여기서

    > B1를 별로 B2가 가장 큰것을 가져올려고 합니다.

    > 즉

    > ----------

    > 1 3

    > 2 2

    > 3 4

    > ---------

    > 결과값이 이렇게 나오게 할려는데 SQL문장을 어떻게 작성해야 되나요?

    > 고수님들의 한 말씀부탁드릴께요.

  • Profile
    jowaju 2001.11.27 21:03
    이무열 wrote:

    > DB는 Oracle를 사용하고있습니다.

    > 그런데 A라는 Table에

    > B1 B2

    > ---------

    > 1 1

    > 1 2

    > 1 3

    > 2 1

    > 2 2

    > 3 1

    > 3 2

    > 3 3

    > 3 4

    > -------------------------------------------------------

    > 이렇게 데이터가 입력되어있으면,여기서

    > B1를 별로 B2가 가장 큰것을 가져올려고 합니다.

    > 즉

    > ----------

    > 1 3

    > 2 2

    > 3 4

    > ---------

    > 결과값이 이렇게 나오게 할려는데 SQL문장을 어떻게 작성해야 되나요?

    > 고수님들의 한 말씀부탁드릴께요.

    간단합니다. 이렇게하시죠.

    Query1.Close;

    Query1.SQL.Clear;

    Query1.SQL.Add('select B1, max(B2) from A.db group by B1');

    Query1.Open;