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 31020 게시물 읽기
No. 31020
나이대 구하기
작성자
궁그미(mistysoju)
작성일
2017-01-20 11:03ⓒ
2017-01-20 12:49ⓜ
조회수
6,953

나이대를 구해야 하는데 검색해보면 20대, 30대 이렇게밖에 나오질 않네요..

DB에 19870101, 19970502 이런식으로 저장된 생년월일을 가지고

 

 

나이대 | 명

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

20-24 | 5

25-29 | 2

30-34 | 6

35-39 | 10

 

 

이런식으로 데이터를 추출하려고 하는데 잘 안되네요ㅜㅜ

혹시 방법이 있을까요?

 

아니면 그냥 테이블을 하나 따로 빼서 데이터를 따로 저장하는게 나을까요

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

SELECT CONCAT( FLOOR(y / 5) * 5
             , '~'
             , FLOOR(y / 5) * 5 + 4
             ) years
     , COUNT(*) cnt
  FROM (SELECT FLOOR(
               ( PERIOD_DIFF(DATE_FORMAT(curdate(), '%Y%m'), LEFT(ymd, 6))
               + CASE WHEN DATE_FORMAT(curdate(), '%d') > RIGHT(ymd, 2)
                      THEN 0 ELSE -1 END    -- 일자 안지났으면 1개월 차감
               ) / 12
               ) y    -- 만나이
          FROM (SELECT 1 idx, '19870101' ymd
                UNION ALL SELECT 2, 19970502
                UNION ALL SELECT 3, 19970528
                ) t
        ) a
 GROUP BY FLOOR(y / 5)  -- 5년 단위 집계
;

마농(manon94)님이 2017-01-20 14:33에 작성한 댓글입니다.

 앗 감사합니다!!!!! 

궁그미(mistysoju)님이 2017-01-24 11:26에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
31023root가 아닌계정이 모든정보를 볼수 있는방법이 있을까요 ?
이상준
2017-01-24
7448
31022mysql 쿼리 확인 요청드립니다.
홍준희
2017-01-24
7352
31021쿼리 튜닝 요청 [6]
황성균
2017-01-23
7625
31020나이대 구하기 [2]
궁그미
2017-01-20
6953
31018대용량 테이블에서 count 하기 [2]
오도훈
2017-01-06
7350
31017FULLTEXT 검색 관련 문의 드립니다.
임재송
2017-01-06
6427
31016DB에서 각 ID(키) 별 최신 연도의 특정 값들을 합하는 쿼리를 만들고 싶습니다. [2]
오모씨
2017-01-05
6434
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다