Подзапрос с count, правильно создать запрос - MySQL

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
kapkapiton
Сообщения: 20
Зарегистрирован: 2018.01.30, 11:04
Контактная информация:

Подзапрос с count, правильно создать запрос - MySQL

Сообщение kapkapiton » 2018.05.07, 17:24

Добрый день, помогите пожайлуста правильно составить запрос, требуется вывести пользователей с их данными по конкурсу, которые не засветились в конкурсе повторно, то есть у них только один ip в таблице конкурса - competition.

Составляю такой запрос

Код: Выделить всё

SELECT u.user_email, c* 
FROM competition c 
LEFT JOIN users u ON c.user_id = u.user_id 
WHERE (SELECT COUNT(*) FROM competition WHERE ip = competition.ip) < 2
В ответ выводится пустой ответ, хотя должны были исключиться только двое пользователей, как правильно составить запрос с count?

zelenin
Сообщения: 10582
Зарегистрирован: 2013.04.20, 11:30

Re: Подзапрос с count, правильно создать запрос - MySQL

Сообщение zelenin » 2018.05.07, 19:01

Код: Выделить всё

select
    user.*,
    competition.*
from user
left join competition on competition.user_id = user.id

where competition.user_id in (
    select user_id
    from competition
    group by ip
    having count(user_id) == 1
)

Аватара пользователя
vitalik1183
Сообщения: 1673
Зарегистрирован: 2014.07.01, 08:42

Re: Подзапрос с count, правильно создать запрос - MySQL

Сообщение vitalik1183 » 2018.05.08, 09:12

Код: Выделить всё

having count(user_id) == 1
мм?
Yii2!


Ответить