Q&A

  • SQL문이 가능한가요 ?
데이타베이스 : Interbase



만들고자 하는 SQL 문 내용



회원 테이블

각 회원별로 1 개월간 나온 날자를 가지고 있는 테이블



각 회원별로 1개월동안 나온 날자를 비교하여 가장 많이 빠진 날자를 구할 수 있나요 ?



예를 들면



홍길동이란 회원인 3월 1,2,3,4,5,8,9,10,15,16...

이런식으로 나왔다면

검색할 때 처음레코드와 다음레코드의 날자를 비교하고 또 그다음날자를 비교

(즉 홍길동이란 회원이 1달간 나온 자료를 가지고 바로 앞의 레코드와 현재레코드를

비교) 하여 가장 차이가 많이 나는 기간이 얼마인지를 알 수 있는 방법

1과 2일의 차이는 0

2와 3일의 차이는 0

3과 4일의 차이는 0

4와 5일의 차이는 0

5와 8일의 차이는 2

8과 9일의 차이는 0

9와 10일의 차이는 0

10과 15일의 차이는 4



결과는 4





위와 같은 SQL문을 아래와 같은 형식으로 만드는 SQL문이 작성이 가능한가요 ?



회원명 기간

홍길동 4

김말동 3

다나가 8

장길산 7

.

.

.



SQL문 고수님의 답변 학수고대하겠습니다.

1  COMMENTS
  • Profile
    솔뫼마당 2001.03.28 03:41
    우리회사 왕고수께서 풀었습니다.



    CREATE TABLE A (

    MAN CHAR(6) NOT NULL,

    NAL CHAR(2) NOT NULL .... 값은 '01', '02', '03', ... 등으로 입력

    )



    ============================================================

    SELECT MAN, MAX(NAL) NAL FROM (

    SELECT A.MAN, MIN(B.NAL) - A.NAL -1 NAL FROM A A, A B

    WHERE B.MAN = A.MAN AND A.NAL < B.NAL

    GROUP BY A.MAN, A.NAL)

    GROUP BY MAN

    ============================================================



    결과 =>

    MAN NAL

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

    a 4

    b 11

    c 10

    3 rows selected.

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



    초보 wrote:

    > 데이타베이스 : Interbase

    >

    > 만들고자 하는 SQL 문 내용

    >

    > 회원 테이블

    > 각 회원별로 1 개월간 나온 날자를 가지고 있는 테이블

    >

    > 각 회원별로 1개월동안 나온 날자를 비교하여 가장 많이 빠진 날자를 구할 수 있나요 ?

    >

    > 예를 들면

    >

    > 홍길동이란 회원인 3월 1,2,3,4,5,8,9,10,15,16...

    > 이런식으로 나왔다면

    > 검색할 때 처음레코드와 다음레코드의 날자를 비교하고 또 그다음날자를 비교

    > (즉 홍길동이란 회원이 1달간 나온 자료를 가지고 바로 앞의 레코드와 현재레코드를

    > 비교) 하여 가장 차이가 많이 나는 기간이 얼마인지를 알 수 있는 방법

    > 1과 2일의 차이는 0

    > 2와 3일의 차이는 0

    > 3과 4일의 차이는 0

    > 4와 5일의 차이는 0

    > 5와 8일의 차이는 2

    > 8과 9일의 차이는 0

    > 9와 10일의 차이는 0

    > 10과 15일의 차이는 4

    >

    > 결과는 4

    >

    >

    > 위와 같은 SQL문을 아래와 같은 형식으로 만드는 SQL문이 작성이 가능한가요 ?

    >

    > 회원명 기간

    > 홍길동 4

    > 김말동 3

    > 다나가 8

    > 장길산 7

    > .

    > .

    > .

    >

    > SQL문 고수님의 답변 학수고대하겠습니다.