SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 09.11.2018 17:05:15

Calegenouse
Участник
Зарегистрирован: 09.11.2018
Сообщений: 2

Как сравнить количество строк, а не их значение

Есть таблица с полями id, img_id и status.
Нужно составить запрос, где у одного id нужно выбрать больше 3 img_id, у которых status=1
Как сделать сравнение? то есть не значение img_id должно быть больше 3, а их количество по всей таблицы в рамках одного id.
насколько поняла COUNT() не подходит. А обычные логические операторы сравнивают именно значение.

Неактивен

 

#2 09.11.2018 17:24:34

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5827

Re: Как сравнить количество строк, а не их значение

select id, COUNT(*) from `таблица` where status=1 group by id

Неактивен

 

#3 09.11.2018 17:36:19

Calegenouse
Участник
Зарегистрирован: 09.11.2018
Сообщений: 2

Re: Как сравнить количество строк, а не их значение

по такому запросу он же выберет все id, у которых есть status=1. мне нужно, чтобы выбрал img_id больше 3 с таким статусом.

у одного id может быть, например, 10 img_id, у 9 из них status=0. такой id не должен попасть в выборку.

Неактивен

 

#4 09.11.2018 17:43:07

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5827

Re: Как сравнить количество строк, а не их значение

select id from `таблица` where status=1 group by id having COUNT(*) > 3


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

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson