2013-06-03 4 views
0

MySQL 쿼리의 ORDER BY 절을 수정하는 전자 상거래 플랫폼 용 모듈을 작성합니다.ORDER BY 절의 하위 쿼리 MySQL

나는 ORDER BY 문장 뒤에있는 것만 접근 할 수 있습니다.

나는 계산 된 열에서 ORDER BY 문을 실행하려고합니다.

" ORDER BY (SELECT (shop_product.price - shop_product.sale_price) as pSavings) ASC " 

내가 계산 된 열을 생성하는 SELECT 문에 대한 액세스 권한을 가지고 있겠지 나는 이것에 대해 또는 심지어 가능하면 갈 얼마나 아무 생각이 없지만?

+0

'ORDER BY' 절에'as '문을 작성할 필요가 없습니다. 선택을 제거하십시오 – Yogus

답변

3

당신은이 (다음이 가능)을 의미하는 경우 :

ORDER BY (shop_product.price - shop_product.sale_price) ASC 
+0

이것은 전체 표 스캔을 초래할 것이라고 생각합니다. – Orangepill

+0

WHERE 조건이있을 경우 완전히 사실이 아닙니다. 데이터베이스는 정렬 전에 불필요한 행을 먼저 필터링합니다. – invisal

0

당신이 함께 시도 할 수 있습니다.

SELECT (shop_product.price - shop_product.sale_price) as pSavings ORDER BY pSavings ASC;