Copy
// 전체 상품수 카운트$sql_total_cnt = "SELECT COUNT(DISTINCT(it_id)) AS cnt FROM g5_shop_item";$ress = sql_fetch($sql_total_cnt); // 플래티넘 상품 카운트$sql_platinum_cnt = "SELECT COUNT(*) AS platinum_cnt FROM g5_shop_item WHERE ca_id = '1010'";$ressP = sql_fetch($sql_platinum_cnt); // 골드 상품 카운트$sql_gold_cnt = "SELECT COUNT(*) AS gold_cnt FROM g5_shop_item WHERE ca_id = '1020'";$ressG = sql_fetch($sql_gold_cnt); // 직거래등록대행 상품 카운트$sql_agency_cnt = "SELECT COUNT(*) AS agency_cnt FROM g5_shop_item WHERE ca_id = '1030'";$ressA = sql_fetch($sql_agency_cnt);
이 4개의 쿼리를 한개로 합칠 수 있을까요!?
|
답변 2개 / 댓글 5개
채택된 답변
+20 포인트
2017-03-14 (화) 11:58:04
SELECT COUNT(DISTINCT it_id) AS cnt, SUM(IF(ca_id = '1010', 1, 0)) AS platinum_cnt, SUM(IF(ca_id = '1020', 1, 0)) AS gold_cnt, SUM(IF(ca_id = '1030', 1, 0)) AS agency_cnt FROM #table_name
답변에 대한 댓글 5개
lacomparte
2017-03-14 (화) 14:44:52
2017-03-14 (화) 14:55:47
잉? 안 나오나요?
혹시나 해서 제가 갖고 있는 다른 테이블에서 테스트 하니 값 정상적으로 잘 나오는데...
지금 갖고 있는 테이블 덤프 떠서 보여 주실 수 있나요?
그럼 확인해 볼게요.
혹시나 해서 제가 갖고 있는 다른 테이블에서 테스트 하니 값 정상적으로 잘 나오는데...
지금 갖고 있는 테이블 덤프 떠서 보여 주실 수 있나요?
그럼 확인해 볼게요.
lacomparte
2017-03-14 (화) 15:02:58
$sql_prd_cnt =
"SELECT
(SELECT COUNT(it_id) FROM g5_shop_item) AS cnt,
(SELECT COUNT(it_id) FROM g5_shop_item WHERE ca_id = '1010') AS platinum_cnt,
(SELECT COUNT(it_id) FROM g5_shop_item WHERE ca_id = '1020') AS gold_cnt,
(SELECT COUNT(it_id) FROM g5_shop_item WHERE ca_id = '1030') AS agency_cnt
FROM DUAL";
$ress = sql_fetch($sql_prd_cnt);
제가
모바일 수정하고 pc로버전으로 보고 있었어요ㅋㅋㅋㅋㅋ
감사드립니다:D
"SELECT
(SELECT COUNT(it_id) FROM g5_shop_item) AS cnt,
(SELECT COUNT(it_id) FROM g5_shop_item WHERE ca_id = '1010') AS platinum_cnt,
(SELECT COUNT(it_id) FROM g5_shop_item WHERE ca_id = '1020') AS gold_cnt,
(SELECT COUNT(it_id) FROM g5_shop_item WHERE ca_id = '1030') AS agency_cnt
FROM DUAL";
$ress = sql_fetch($sql_prd_cnt);
제가
모바일 수정하고 pc로버전으로 보고 있었어요ㅋㅋㅋㅋㅋ
감사드립니다:D
2017-03-14 (화) 11:38:28
여러개의 쿼리를 합치실려면 union 사용하면 됩니다.
때에 따라서 union all로 쿼리 묶으시며 됩니다
답변을 작성하려면 로그인이 필요합니다.
톰소여z 님 말대로 모두 count로 해서 union 으로 묶는게 더 나을까요?