На данный вопрос уже ответили:
Есть таблица
Нужно найти все id, которые содержат значения в поле digits '15' и '16' одновременно. Т.е. в данном случае - только id = 1.
Пробую
SELECT id from table group by digits having count(digits=15)>=1 and count(digits=16)>=1;
результат выводит неверный.
count(digits=15)
даст значение при любом значении digits
, кроме NULL - и неважно, какое это будет значение, 1 или 0, но это значение. Так что это эквивалентно простому count(digits)
.
А вот count(CASE WHEN digits=15 then 1 END)
только для 15 даст значение (причём неважно, что написать вместо единицы, лишь бы не NULL). Если значение digits
не 15 (в т.ч. NULL) - CASE даст NULL, который не будет посчитан. И запрос даст верные данные.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите пожалуйста, есть 3 таблицыUsers (клиенты), company (компании), users to company (смежная таблица)
В mySQL-таблице InnoDB имеется поле типа VARCHARВ таблице множество записей
Часто вижу на сайтах что фоновое изображение имеет какой-то эффект, на фоне которого отчётливо видно текстНе понимаю, то ли это размытие,...
Так как Вы не включили в вопрос разметку и стили, сказать, что Вы делаете неправильно, затруднительноВот что, я думаю, Вы хотели сделать: