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
운영게시판
최근게시물
PostgreSQL Q&A 9946 게시물 읽기
No. 9946
datetime 형 데이타를 년월만 조회되게 되나요?
작성자
이기자(k3i2)
작성일
2018-02-21 13:35ⓒ
2018-02-21 13:40ⓜ
조회수
5,474

datetime형 필드인데,

년,월로 그룹으로 묶기위해,

to_char(save_day,'yyyymmdd' ) 이렇게 했엇는데, 속도도 떨어지고해서 수정을 할려고하는데,

to_char를 안쓰고 년,월로 할수가 있나요?

 

save_day::date 이렇게하면 년월일까지 나와버려서 안되고...

방법이 있나요?

 

속도도 문제지만,

원래 잘되었던 쿼리가 DB를 새로 설치하고 사용하면서 부터 갑자기 안되는게 생겼어요.

 

Select Case to_char(save_day,'yyyymm') When '201801' Then 1 Else 0 End As mon1

From table1

Where to_char(save_day,'yyyy')= '2018'

And to_char(save_day,'yyyymmdd' ) BetWeen to_char(save_day,'yyyy')||'0101' And to_char(save_day,'yyyy')||'0221'

Group By to_char(save_day,'yyyymm')

 

이건데 원래 잘됐었거든요, 근데 갑자기

ERROR: column "table1.save_day" must appear in the GROUP BY clause or be used in an aggregate function

LINE 2: Select Case to_char(save_day,'yyyymm') When '201801' Then 1...

^

********** Error **********

 

ERROR: column "table1.save_day" must appear in the GROUP BY clause or be used in an aggregate function

SQL state: 42803

Character: 23

이런 에러가 납니다.

버전은 같은 버전으로 생각하고 있었는데, 뭐가 문제일까요 T.T

 

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

-- 컬럼을 가공하여 비교하지 마시고 조건값을 가공하세요.
SELECT ...
  FROM table1
 WHERE save_day >= '20180101'::date
   AND save_day <  '20180221'::date + 1
 GROUP BY TO_CHAR(save_day, 'yyyymm')
;

마농(manon94)님이 2018-02-21 16:19에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9949도대체.. parallel query가 뭔가요?! [4]
test
2018-02-27
6164
994810.x partition table 두번째 질문드려요. [2]
test
2018-02-26
5314
9947DB 스키마 모델링 작업 어떤툴 쓰시나요? ㅇ.ㅇ [1]
test
2018-02-23
5414
9946datetime 형 데이타를 년월만 조회되게 되나요? [1]
이기자
2018-02-21
5474
994510.x partition table질문드려요. [2]
test
2018-02-20
5621
99449.2버전 백업파일을 10.2에 복원할때 문제점이 있나요? [4]
test
2018-02-14
5470
9943data 폴더만있는데, 살릴수있는가요? [1]
이기자
2018-02-14
5718
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다