상품테이블 (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원대의 상품
|