database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29325 게시물 읽기
No. 29325
연속된 값을 찾는게 가능한가요??
작성자
Deck(dlehals2)
작성일
2009-09-22 16:27ⓒ
2009-09-22 16:27ⓜ
조회수
7,413

예를들어...


어떤 필드에 값이










이렇게 있다고 하면 최근 3개가 '승'이 연속 3개가 나오는데


이걸 쿼리를 통해서 알아낼 수 있을까요?? 그러니까 가장 마지막 값을 통해서 그 값이 몇번이나 연속되어 있는지를요...



[승  - 3]


 이렇게요....

이게 가능할까요?^^;;

이 글에 대한 댓글이 총 3건 있습니다.

음... limit 안쓰고... no가 PK (숫자일 경우)



select no, type from TABLE

where no>

(

    select max(B.no)

    from

    (

        select no,type from TABLE order by no desc

    ) as A

    inner join

    (

        select no+1 as c, no,type from TABLE where no not in (select max(no) from TABLE) order by no desc

    ) as B

    on A.no=B.c

    where A.type!=B.type

)


그냥 다 풀로 검색하네요..;;


limit 안쓰고 좀더 편하게 하는방법은 어떻게 하나요? ㅡㅜ

진님이 2009-09-23 18:17에 작성한 댓글입니다. Edit

어떤 필드가 N 일 경우,

SELECT n, IF( @prev = n, @k:= @k + 1, @k:= 1) AS k, @prev := n FROM dual;

이를 통해 아래와 같은 결과가 나옵니다.
+------+------+------------+
| n    | k    | @prev := n |
+------+------+------------+
|    1 |    1 |          1 |
|    2 |    1 |          2 |
|    1 |    1 |          1 |
|    1 |    2 |          1 |
|    1 |    3 |          1 |
|    3 |    1 |          3 |
|    2 |    1 |          2 |
|    2 |    2 |          2 |
+------+------+------------+

아래 쿼리라면 원하시는 결과가 나오지 않을까 싶습니다.

SELECT n, k FROM ( SELECT n, IF( @prev = n, @k:= @k + 1, @k:= 1) AS k, @prev := n FROM dual ) x WHERE k >= 3;

+------+------+
| n    | k    |
+------+------+
|    1 |    3 |
+------+------+

박현우(lqez)님이 2009-09-28 18:24에 작성한 댓글입니다.

답변들 감사합니다..

Deck(dlehals2)님이 2009-09-29 10:49에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29334쿼리 분석좀 해주세요 [1]
최동성
2009-09-24
6059
29333적당한 설정인지 조언 부탁드립니다.
박찬영
2009-09-24
6752
29326프로시저 질문입니다. [1]
흥흥흥
2009-09-23
5747
29325연속된 값을 찾는게 가능한가요?? [3]
Deck
2009-09-22
7413
29312숫자를 합치려면 어떻게 하나요? [2]
Deck
2009-09-18
6299
29311euckr 캐릭터셋 변경질문입니다. [1]
질문
2009-09-18
7425
29310테이블에서 가장 마지막 5개의 레코드만 불러오고 싶습니다... [2]
Deck
2009-09-18
5779
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다