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
운영게시판
최근게시물
DBMS Q&A 466 게시물 읽기
No. 466
[질문] 문자열 카운트 쿼리
작성자
앤디
작성일
2002-07-24 17:08
조회수
5,711

db에

word

-------

a

aab

aac

b

bba

bbc

c

cca

ccb

ab

ac

bc

abc

aabc

abbc

abcc

aabbc

aabcc

abbcc

aabbcc

..

.

 

머 이런 식으로 들어있다고 하고요..

select * from table where word not like '%a%'

하면 a 가 있는넘들은 빠지고 없는 넘들만 나오겠죠?

요 아래 같이..

b

bbc

c

ccb

bc

 

그럼 이중에 b가 두번 이상 들어간 넘들을 빼낼라면 어떻게 해야 하나요?

 

* 아차!! b는 연속해서 있지 않을 수도 있습니다. 예를 들자면 bacbab 처럼 각각이요

 

성공하면

b

c

ccb

bc

만 남겠네요

 

이상하게 문자 배열로 처리하려는데.. 느려져서 꺼림직하고..

왠지 쿼리 한방에 할 수 없을까 해서 질문해봅니다.

 

멋진 답변 & 쌈빡한 쿼리 기대하겠습니다.

이 글에 대한 댓글이 총 2건 있습니다.
SELECT * FROM table 
    WHERE word NOT LIKE '%a%'
               AND word LIKE '%b%b%'

 

이런 query 를 원하시는가요.

 

만약 MySQL 이나 PostgreSQL과 같은 regular expression 연산자를 지원하는 DBMS 라면 아무 걱정없이 이런 문제는 처리가 될 것 같군요.

정재익(advance)님이 2002-07-25 09:40에 작성한 댓글입니다.

DB를 다루는 SQL은 집합을 다루는 언어입니다.

 

따라서 답을 얻는다는 것은 어떤 집합을 원하는 것이겠지요.

위의 질문을 집합으로 표시하면

(문자 a가 들어 있지 않은 word의 집합) - (문자 b가 두개 이상 들어간 word의 집합)

= (문자 a가 들어 있지 않은 word의 집합) INTERSECT (문자 b가 두개 이상 들어간 word의 집합) 의 Complete

 

따라서 SQL을 사용하면

 

SELECT * FROM xxx WHERE word NOT LIKE '%a%'

INTERSECT

SELECT * FROM xxx WHERE word NOT LIKE '%b%b%'

 

좋은 하루 되세염

김동아(love89)님이 2002-07-25 17:54에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
472도움을 주실분 찾습니다. [1]
박창수
2002-07-26
5406
470쿼리 방법을 알려주시면 감사하겠습니다. [2]
주성열
2002-07-26
5634
468DB 구축에 대해 조언을 좀 해주세요.. [2]
Terry
2002-07-25
5645
482┕>Re: 다시한번 고민해 주셔요~ ㅠㅠ
정회민
2002-08-01 14:18:11
5686
466[질문] 문자열 카운트 쿼리 [2]
앤디
2002-07-24
5711
463DB tool의 비교를 부탁드립니다...
yjji
2002-07-23
5893
451[질문] database 가격 아시는분 계시나요?
오영택
2002-07-15
5820
424BLOB에 관한.. 자세한 설명이나 자료 좀 부탁드립니다.
이정진
2002-07-10
5791
464┕>Re: BLOB에 관한.. 자세한 설명이나 자료 좀 부탁드립니다.
이혜영
2002-07-23 16:43:27
6152
465 ┕>Re: Re: BLOB에 관한.. 자세한 설명이나 자료 좀 부탁드립니다.
이정진
2002-07-23 23:00:13
6057
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다