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 7489 게시물 읽기
No. 7489
쿼리안에서 AS 로 아리아스 한 값의 사용
작성자
지우개
작성일
2008-08-11 04:43ⓒ
2008-08-11 04:45ⓜ
조회수
6,168

상품테이블 (items)에서 가격대별로 group by 해서 뽑아내기 위해서 아래와 같은 쿼리를 만들었습니다.



SELECT

  price/1000 * 1000 AS amt,

  COUNT('amt') AS cnt,

  to_char(amt*1000,'999,999') || '원대의 상품' AS name

FROM

  items

GROUP BY amt

ORDER BY amt




아시는분은 아셨겠지만 4번재줄 to_char 부분에서 오류가 생기는데

아마 AS 로 뽑아낸 amt 를 제가 생각하는 변수로 제대로 동작하지 못해서인거 같습니다.

위 쿼리에서 amt(상품의 가격대별), cnt(해당가격의 상품수) 같이 AS 로 아리아스된 결과를 쿼리안에서

(SELECT 절이나 WHERE에서) 사용하려면 어떻게 해야하나요?

예를 들어 위 쿼리에서 SELECT amt*2 AS amt_double 이나 WHERE amt > 2000 AND cnt > 10 등처럼요.

COUNT('amt') AS cnt 등도 ' 를 붙여서 어쩌다 해결했는데 다른것들은 안되서요.



그리고 위 쿼리가 제대로 동작하려면 어떻게 수정해야하는지 조언좀 부탁드립니다.

원하는 결과는 아래와 같습니다.


amt        cnt     name

1000       5       1000원대의 상품

2000       3       2000원대의 상품

5000       1       5000원대의 상품



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

SELECT amt

, cnt

, to_char(amt*1000,'999,999') || '원대의 상품' AS name

FROM

(

 SELECT

  price/1000 * 1000 AS amt,

  COUNT('amt') AS cnt,

FROM

  items

GROUP BY amt

ORDER BY amt

)


이렇게 한번 해보시기 바랍니다. 

김병석(byung82)님이 2008-08-11 09:10에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7492콘솔환경에서의 select결과를 보다가 중단하려면 [2]
서정주
2008-08-12
6115
7491postgresql 명령어 관련입니다. [2]
신재근
2008-08-12
6344
7490- [1]
아무개
2008-08-11
6127
7489쿼리안에서 AS 로 아리아스 한 값의 사용 [1]
지우개
2008-08-11
6168
7487- [2]
아무개
2008-08-10
6244
7486- [1]
아무개
2008-08-10
5531
7485- [1]
아무개
2008-08-08
5740
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다