Я создаю пользовательскую систему, используя PHP и MySQL.
ЭТО МОЙ СТОЛ
--------------
ID value
---------------
1 1
2 0
3 1
4 1
5 1
6 0
Я пытаюсь написать запрос mysql в php, который отображает только общее количество значений, если общее количество значений больше 5. То есть возвращает запрос как истинный, только если в таблице найдено более 5 записей. .
Может кто-нибудь помочь мне? Я перепробовал много вещей.
Это мой код, который я пробовал до сих пор
$query = " SELECT COUNT(value) AS value,
CASE
WHEN value > 0 THEN value ELSE 0 END
FROM users
";
$query = $this->db->query($query);
$query->result_array();
if ($query->num_rows() > 0){
echo "more than 5 records are found";
}
СПАСИБО
(РЕДАКТИРОВАТЬ - Чтобы прояснить вопрос)
Так что, если мы посмотрим на таблицу ниже (ТАБЛИЦА 1), значение = 1 найдено 6 раз в таблице. Таким образом, запрос должен вернуть true. Это потому, что я пытаюсь сосчитать все значения, где значение = 1, а не значение = 0. И я хочу вернуть запрос, только если значение = 1 найдено 5 или более раз.
TABLE 1
--------------
ID value
--------------
1 1
2 0
3 1
4 1
5 1
6 0
7 1
8 1
Если мы посмотрим на ТАБЛИЦУ 2 ниже, значение = 1 встречается только 2 раза в этой таблице. Таким образом, мы возвращаем запрос как false, потому что нам нужно, чтобы значение = 1 было найдено в таблице более 5 раз, чтобы вернуть true.
TABLE 2
--------------
ID value
--------------
1 1
2 0
3 1
4 0
5 0
6 0
7 0
8 0
Я бы хотел, чтобы это происходило в запросе, а не с использованием операторов if вне запроса с использованием php. ie, if($results > 5) { return true}
СПАСИБО