Как считать Нулевые значения в MySQL?

Я хочу знать, как я могу найти все значения, которые являются НУЛЕВЫМИ в базе данных MySQL, например, я пытаюсь отобразить всех пользователей, у которых еще нет среднего числа.

Вот код MySQL.

SELECT COUNT(average) as num
FROM users
WHERE user_id = '$user_id'
AND average IS_NULL
16
задан OMG Ponies 16 June 2010 в 23:13
поделиться

5 ответов

SELECT
    COUNT(*) as num
FROM
    users
WHERE
    user_id = '$user_id' AND
    average IS NULL
14
ответ дан 30 November 2019 в 15:12
поделиться

Также вы можете:

Select Count(*) - Count(Average) as NullAverages
From Users
Where user_id = '$user_id' 
9
ответ дан 30 November 2019 в 15:12
поделиться

вы на правильном пути. Удалите «_» из «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

5
ответ дан 30 November 2019 в 15:12
поделиться

Мне может не хватать чего-то особенного для mysql, но это будет работать на сервере sql

SELECT COUNT(*) as num
FROM users
WHERE user_id = '$user_id'
AND average IS NULL
3
ответ дан 30 November 2019 в 15:12
поделиться

Более общая версия (которая не зависит от условия 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 непрактично (из-за необходимости другой информации)...

33
ответ дан 30 November 2019 в 15:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: