2013-05-29 4 views
0

У меня есть база данных MySQL структурированным как:MySQL - подсчитывать два столбца в одном запросе с определенными переменными

стол transactions:

id paymentid clientid status 
------------------------------ 
1 001  12345  0 
2 002  11223  1 
3 003  12345  4 
4 004  12345  4 

Что является наиболее эффективным способом для выполнения запроса в MySQL, чтобы дать я несколько раз, когда у определенного клиента были платежи со статусом 4?

нравится:

select clientid, count(*) 
where status = 4 

но возвращать только количество определенного идентификатора клиента.

ответ

1

Вы должны добавить фильтр WHERE для clientId, если вы хотите отфильтровать конкретный клиент. Если нет, то вы можете удалить and clientid = 12345:

select clientid, count(*) 
from transactions 
where status = 4 
    and clientid = 12345 
GROUP BY clientId; 

См SQL Fiddle with Demo

+0

Вам не нужно где фильтр для ClientId. Вам нужно предложение Group By для clientId –

+0

@MarkS. Если они хотят фильтровать определенный идентификатор клиента. Они указали, сколько раз было определенного клиента, что подразумевает где. – Taryn

Смежные вопросы