Я хочу знать, как я могу найти все значения, которые являются НУЛЕВЫМИ в базе данных MySQL, например, я пытаюсь отобразить всех пользователей, у которых еще нет среднего числа.
Вот код MySQL.
SELECT COUNT(average) as num
FROM users
WHERE user_id = '$user_id'
AND average IS_NULL
SELECT
COUNT(*) as num
FROM
users
WHERE
user_id = '$user_id' AND
average IS NULL
Также вы можете:
Select Count(*) - Count(Average) as NullAverages
From Users
Where user_id = '$user_id'
вы на правильном пути. Удалите «_» из «IS_NULL» и измените «COUNT (среднее)» на «COUNT (1)», и оно у вас будет.
Для получения дополнительной информации о работе с NULL в MYSQL см. http://dev.mysql.com/doc/refman/5.0/en/working-with-null.html
И для работы с IS NULL в частности, см.
http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_is-null
Мне может не хватать чего-то особенного для mysql, но это будет работать на сервере sql
SELECT COUNT(*) as num
FROM users
WHERE user_id = '$user_id'
AND average IS NULL
Более общая версия (которая не зависит от условия where и, следовательно, ограничивает общие результаты):
SELECT
SUM(CASE WHEN average IS NULL THEN 1 ELSE 0 END) As null_num,
SUM(CASE WHEN average IS NOT NULL THEN 1 ELSE 0 END) AS not_null_num
FROM users
Она не лучше конкретных запросов, представленных в других ответах здесь, но она может быть использована в ситуациях, когда использование ограничивающего условия where непрактично (из-за необходимости другой информации)...