1

my question similar like this one MySQL COUNT() multiple columns.

but for me , how do i count the mutliple row:

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()  ");

the result something like:

voucher : 2
pro tan : 4
Community
  • 1
  • 1
tonoslfx
  • 3,422
  • 15
  • 65
  • 107

3 Answers3

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
Quassnoi
  • 413,100
  • 91
  • 616
  • 614
2

You can use GROUP BY:

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

NOTE: this is if you want the count for each t_pro value. Otherwise, you'd need to modify the GROUP BY for custom t_pro value associations

Jason McCreary
  • 71,546
  • 23
  • 135
  • 174
0
select t_pro, count(1) from table group by t_pro;
Liv
  • 6,006
  • 1
  • 22
  • 29