I have a table that looks like this
+-----+-----+-----+-----+
| mid | rtn | ip | mtc |
+-----+-----+-----+-----+
| A | 2 | ab | acc |
| A | 1 | ab | qty |
| A | 5 | ab | rel |
| A | 1 | cd | rel |
| A | 3 | cd | qty |
| B | 1 | ab | acc |
| B | 4 | ab | rel |
| B | 3 | ab | qty |
| B | 5 | cd | acc |
| B | 1 | cd | rel |
+-----------------------+
I am trying to get a count for each mid
for each unique mtc
values so the result table looks like this:
+-----+-----------+------------+-----------+
| mid | qty_total | rel_total | acc_total |
+-----+-----------+------------+-----------+
| A | 1 | 2 | 2 |
| B | 2 | 1 | 2 |
+------------------------------------------+
The query I have so far that I have issues with:
select mid,
(select count(*) from t_r where mtc = 'qty' group by mid) as 'qty_total',
(select count(*) from t_r where mtc = 'rel' group by mid) as 'rel_total',
(select count(*) from t_r where mtc = 'acc' group by mid) as 'acc_total'
from t_r
group by mid;
When I run the query, I get
[21000][1242] Subquery returns more than 1 row