Проверьте, является ли нечетным общее количество отображений значений в базе данных mysql в таблице

#mysql #sql #count #having-clause

#mysql #sql #подсчитайте #having-предложение

Вопрос:

введите описание изображения здесь

У меня есть база данных с идентификатором пользователя, я хочу проверить общее количество раз, когда каждый идентификатор пользователя встречался, и извлечь только те, общее количество появлений которых нечетно.

Например, у меня есть «Sandra» с идентификатором 2 и появляется 5 раз, поскольку 5 нечетно, это приведет к извлечению всех данных подобным образом. Я попытался

 SELECT L_UID, count(*) as count from tenter group by L_UID order by count DESC
  

Я смог получить подсчеты, но не смог проверить, являются ли они нечетными или нет.

Комментарии:

1. есть ли причина, по которой вы не показываете нам свой код, который производит множественные вставки

2. Точно так же, как в электронной коммерции, где конкретный идентификатор пользователя совершает несколько покупок, я хочу получить всех пользователей, количество покупок которых нечетно.

Ответ №1:

Вы должны установить условие в HAVING caluse:

 SELECT L_UID, COUNT(*) AS count 
FROM tenter 
GROUP BY L_UID 
HAVING count % 2 = 1
ORDER BY count DESC
  

Ответ №2:

Как в школе, вы делите if на 2 и смотрите на остальное, в математике это называется по модулю

 SELECT L_UID, IF((count(*) %2) = 1,'odd', 'even') as count from tenter group by L_UID order by count DESC