하나의 쿼리문으로 컬럼내 모든값의 개수를 count
본문
SELECT `xm_buy`, COUNT(*) FROM g5_write_off where `xm_no` < '11' GROUP BY `xm_buy`;
SELECT `xm_buy`, COUNT(*) FROM g5_write_off where `xm_no` < '21' GROUP BY `xm_buy`
SELECT `xm_buy`, COUNT(*) FROM g5_write_off where `xm_no` < '31' GROUP BY `xm_buy`
위와 같이 xm_no 이하 조건으로 해서 ..컬럼내 모든 값을 카운트 합니다.
쿼리문을 하나로 만들지 못해서..저렇게 3개를 작성해서 짜다보니..
위 3개의 쿼리를 하나의 쿼리로 만들수 있을까 해서요..
부탁드립니다.
!-->답변 2
범위를 정하신느것 같은데
$sql = "
SELECT `xm_buy10` type, COUNT(*) cnt FROM g5_write_off where `xm_no` < '11'
union all
SELECT 'xm_buy20' type, COUNT(*) cnt FROM g5_write_off where `xm_no` > '10 and `xm_no`< '21'
union all
SELECT `xm_buy30` type , COUNT(*) cnt FROM g5_write_off where `xm_no` > '20 and `xm_no` < '31'
";
와 같이 작성하시면 gorup by 가 필요없을것 같네요
쿼리를 3개를 돌리시나 1개를 복잡하게 돌리시나
결과상의 시간 차이는 없으실겁니다.
위의 방식도 문제가 되지않을듯하니
직관적으로 쉽게 코드를 볼수있도록 위에서 사용한 방식도 나쁘지않으십니다.
답변을 작성하시기 전에 로그인 해주세요.