ortick
Новичок
Добрый день.
Не поможет ли кто советом?
Имеем, например, таблицу mysql с полями:
user_id
comment_title
comment_text
comment_rating
...
Надо сделать выборку - сколько у пользователей комментариев с положительным рейтингом. Делаем:
SELECT *, COUNT(*) as total FROM table WHERE comment_rating > 0 GROUP BY user_id
Получаем:
user_id | comment_title | comment_text |... | total
1 | title | text | .. | 10
2 | title | text | .. | 5
3 | title | text | .. | 33
4 | title | text | .. | 55
5 | title | text | .. | 100
...
Задача 1.
Как выбрать только тех у кого скажем больше 20 комментариев с положительным рейтингом?
Запрос вида:
SELECT *, COUNT(*) as total FROM table WHERE comment_rating > 0 AND total > 20 GROUP BY user_id
не проходит...
Задача 2.
Имеем еще таблицу table2 с наградами:
user_id
nagrada_id
Нужно выьрать данные согласно решению задачи №1 и добавить условия "отсутствует в table2 с nagrada_id таким-то". Т.е.:
Выбрать тех у кого 20 комментариев с положительным рейтингом и не имеющих уже nagrada_id = 1, например. А если в table2 уже есть user_id с nagrada_id = 1, то его не выводить.
Надеюсь выложил понятно. На php все это сделать можно, но хотелось бы одним (двумя) запросами и на уровмне mysql все это сделать.
Заранее спасибо, тем кто дочитал все до конца.
Не поможет ли кто советом?
Имеем, например, таблицу mysql с полями:
user_id
comment_title
comment_text
comment_rating
...
Надо сделать выборку - сколько у пользователей комментариев с положительным рейтингом. Делаем:
SELECT *, COUNT(*) as total FROM table WHERE comment_rating > 0 GROUP BY user_id
Получаем:
user_id | comment_title | comment_text |... | total
1 | title | text | .. | 10
2 | title | text | .. | 5
3 | title | text | .. | 33
4 | title | text | .. | 55
5 | title | text | .. | 100
...
Задача 1.
Как выбрать только тех у кого скажем больше 20 комментариев с положительным рейтингом?
Запрос вида:
SELECT *, COUNT(*) as total FROM table WHERE comment_rating > 0 AND total > 20 GROUP BY user_id
не проходит...
Задача 2.
Имеем еще таблицу table2 с наградами:
user_id
nagrada_id
Нужно выьрать данные согласно решению задачи №1 и добавить условия "отсутствует в table2 с nagrada_id таким-то". Т.е.:
Выбрать тех у кого 20 комментариев с положительным рейтингом и не имеющих уже nagrada_id = 1, например. А если в table2 уже есть user_id с nagrada_id = 1, то его не выводить.
Надеюсь выложил понятно. На php все это сделать можно, но хотелось бы одним (двумя) запросами и на уровмне mysql все это сделать.
Заранее спасибо, тем кто дочитал все до конца.