i have this table:

```
phone city country order_price customer_type_a customer_type_b
111   aaa  bbb     432         1               0
222   ddd  eee     900         1               0 
565   ggg  ttt     255         0               1 
678   kkk  ooo     654         0               1
457   aaa  bbb     100         1               0
364   aaa  bbb     150         0               1 
451   kkk  ooo     460         0               1

```

i want the result as following:
please note that the max(order price) is grouped by the customer type, A and B, so i want the max price for type a and type b customers

```
city country count(phone) count(customer_type_a) count(customer_type_b)  max_a  max_b
aaa  bbb     3            2                       1                      432           150
ddd  eee     1            1                       0                      900           0
ggg  ttt     1            0                       1                      0             255
kkk  ooo     2            0                       2                      0             654

```

i did this

```
SELECT 
 city,
 country,
 count(phone),
 count(customer_type_a ),
 count(customer_type_b ),
 (CASE WHEN customer_type_a = 1 THEN MAX(order_price)) MAX_A,
 (CASE WHEN customer_type_b = 1 THEN MAX(order_price)) MAX_B
FROM 
 table 
GROUP BY 
 city,
 country

```

i keep getting this error:
not a group by function, any help ?