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
운영게시판
최근게시물
MS-SQL Q&A 1449 게시물 읽기
No. 1449
여러 필드에 있는 값들 중 가장 많이 사용된 값 순으로 찾기
작성자
헌터
작성일
2004-07-24 22:49
조회수
2,901

안녕하세요. 간단해 보이지만 해보니 그리 간단하지 않네요^^

고수님들 도와주세요~


필드가 총 5개(no_1, no_2, no_3, no_4, no_5)가 있고 각 필드에는

숫자(int)로 된 값이 들어갑니다.

하나의 row의 각 필드들에는 같은 번호가 들어가지

않습니다.(로또처럼)

총 row의 수가 100여개 정도 될때, 각 필드별, row 별로 각각의 숫자중

가장 많이 입력된 값부터 가장 적게 입력된 숫자까지 뽑아내는

것입니다. (입력된 횟수가 같으면 작은 숫자부터 소팅)


예를 들면

row #1 : 1, 5, 15, 22, 45

row #2 : 2, 5, 15, 22, 50

row #3 : 5, 11, 15, 22, 30

row #4 : 10, 11, 15, 22, 55

이렇게 값이 들어가 있을때


추출하기 원하는 값은

15번 (4회)

22번 (4회)

5번 (3회)

11번 (2회)

1번 (1회)

2번 (1회)

10번 (1회)

30번 (1회)

45번 (1회)

50번 (1회)

55번 (1회)

이렇겝니다.


제가 생각한 건, 각 필드의 모든 값을 셀렉트 해서 임의의 테이블에 각

값 하나를 하나의 row에 입력을 한 다음, group by 로 셀렉트 할려고

했는데, 뽑아내는데 시간이 걸릴 것 같네요(데이터가 많을때)


좋은 방법 있으시면 리플 부탁드립니다.

 

 

 

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

 

생각하신 방법이 맞는것 같구요. 따로 테이블은 만들필요 없이 view로만 처리하시면 될것 같습니다.

select col, count(*) from

(

  select no_1 col from t union all

  select no_2 col from t union all

  select no_3 col from t union all

  .....

) v

group by col order by count(*) desc, col

dreamt님이 2004-07-25 23:32에 작성한 댓글입니다. Edit

답변 감사드립니다.

사실, mysql에서 돌고 있는건데, 혹시나 해서 MS-SQL 질문란에도 질문을 해 봤습니다.^^ (용서하세요)

mysql에서는 제가 생각한 대로 따로 임시 테이블 만드는 것이 좋겠죠?

mysql에서는 view 지원이 안되는 걸로 알고 있어서...

감사합니다.

헌터님이 2004-07-26 19:33에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1452필드값의 조합에 관한 질문입니다.
김종화
2004-07-26
2294
1451한글 깨어지는 문제에 관한 질문..
김기현
2004-07-26
3244
1450가져오기 / 내보내기 문제입니다. [3]
조종근
2004-07-26
3472
1449여러 필드에 있는 값들 중 가장 많이 사용된 값 순으로 찾기 [2]
헌터
2004-07-24
2901
1448클라이언트 네트워크 유틸로 백업... [1]
임신자
2004-07-23
2666
1447DB 이전할때 .... [1]
초보
2004-07-23
3051
1446이런 오라클 쿼리가 MS-SQL 에서 구현가능할까요? [1]
엄원탁
2004-07-22
3706
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다