SQL COUNT () ГДЕ несколько значений - PullRequest
0 голосов
/ 10 августа 2011

Я постараюсь сделать этот пост коротким: я хочу подсчитать, сколько раз моя строка появляется в моей таблице, где строка представляет собой определенное значение, а в другой строке может быть 4 разных значения.Я опубликую свое "предположение", которое не работает:

SELECT hero_selected, COUNT(hero_type) FROM heroes WHERE hero_type = 'agi' AND hero_selected = 'yt' OR hero_selected = 'yb' OR hero_selected = 'ym' OR hero_selected = 'yf

ИНФОРМАЦИЯ О ТАБЛИЦЕ

НАИМЕНОВАНИЕ СТОЛОВ герои

ROW TO COUNT hero_type

ВЫБЕРИТЕ "hero_type" ГДЕ Значение 'agi'

ТОЛЬКО ВЫБЕРИТЕ ЕГО ГДЕ "hero_selected" IS yt , yb , ym или yf

Если возможно, я также буду признателен за полный код, включая echo от суммы счета в php.Заранее большое спасибо!:)

Ответы [ 2 ]

5 голосов
/ 10 августа 2011
SELECT COUNT(*) 
FROM heroes 
WHERE hero_type = 'agi' AND hero_selected IN ('yt', 'yb', 'ym', 'yf')
0 голосов
/ 10 августа 2011

Из того, что я могу почерпнуть из вашего вопроса, вы хотите, чтобы этот запрос

SELECT COUNT(1) FROM heroes
WHERE hero_type = 'agi'
AND hero_selected IN ('yt', 'yb', 'ym', 'yf')

PHP-код мог бы выглядеть следующим образом

$db = new PDO(...);
$stmt = $db->query($query);
$count = $stmt->fetchColumn();
echo $count;

Я предполагаю, что вы хотите толькоодин счет, а не один на другое значение hero_selected, так как остальные ответы указывают

...