2011-04-27 3 views
1

내 질문은 비슷한 MySQL COUNT() multiple columns 내 질문.mysql 여러 행 어디

report table: 

id  t_pro  t_price 
1. voucher 20.00 
2. pro  13.00 
3. pro 1x  13.00 
4. pro 2x  13.00 
5. voucher 20.00 
6. pro 1x  13.00 

$db->query("SELECT COUNT(*) FROM (SELECT t_pro WHERE t_pro LIKE 'pro%' AS pro_tan, SELECT t_pro WHERE t_pro LIKE 'voucher%' AS voucher) WHERE date=CURDATE() "); 

결과 뭔가 같은 :

voucher : 2 
pro tan : 4 
+0

왜 당신이 선택 내 선택을 사용하기위한 GROUP BY를 수정해야 할 것? – Neal

답변

2

사용할 수 GROUP BY :

SELECT t_pro, COUNT(*) FROM report GROUP BY t_pro; 

하지만 나를 위해, 어떻게 내가이 mutliple 행을 센다 참고 : 각각의 수를 t_pro 값으로 지정하려는 경우입니다. 그렇지 않으면, 당신은 사용자 정의 t_pro 값 협회

3
SELECT CASE WHEN t_pro LIKE 'voucher%' THEN 'voucher' WHEN t_pro LIKE 'pro%' THEN 'pro tan' END AS pro, 
     COUNT(*) 
FROM mytable 
WHERE t_pro LIKE 't_pro%' OR t_pro LIKE 'voucher%' 
GROUP BY 
     pro 
+1

@Quassnoi : 감사합니다. 어떻게 결과가 울려 퍼지나요? 'echo pro tan = $ r [ 'pro']'?? – tonoslfx

+0

@ boyee007 : 어떤 프레임 워크를 사용하고 있습니까? – Quassnoi

+0

메신저 어떤 프레임 워크도 사용하지 않습니다. 내 자신의 사용자 지정 코드. 'voucher : 2, pro tan : 4'와 같은 결과를 어떻게 울릴까요 – tonoslfx

0
select t_pro, count(1) from table group by t_pro;