SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

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

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

Вы не зашли.

#1 20.12.2011 18:07:09

Risk07
Участник
Зарегистрирован: 20.12.2011
Сообщений: 5

Записи с уникальными значениями

SELECT id_member,id_picture,thumbfilename,title,date FROM smf_gallery_pic WHERE(user_id_cat != 0 AND approved = 1) || (approved = 1 AND user_id_cat = 0) ORDER BY id_picture DESC LIMIT 8

Нужно этот запрос модифицировать так, чтобы выводились только записи с уникальными значениями `id_member`. Заранее спасибо! smile

Неактивен

 

#2 20.12.2011 20:15:24

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

Re: Записи с уникальными значениями

если одному значению id_member соответствует несколько записей, то какую именно из этих строк вы хотите получить?

Неактивен

 

#3 21.12.2011 02:40:56

Risk07
Участник
Зарегистрирован: 20.12.2011
Сообщений: 5

Re: Записи с уникальными значениями

vasya написал:

если одному значению id_member соответствует несколько записей, то какую именно из этих строк вы хотите получить?

Последнюю.

Неактивен

 

#4 21.12.2011 03:13:36

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

Re: Записи с уникальными значениями

Если последняя это строка с максимальным значением date, то


SELECT id_member,id_picture,thumbfilename,title,`date` FROM smf_gallery_pic s join
(SELECT id_member, max(`date`) md FROM smf_gallery_pic WHERE(user_id_cat != 0 AND approved = 1) || (approved = 1 AND user_id_cat = 0) group by id_member ) t1 on s.id_member=t1.id_member and s.`date`=t1.md ORDER BY id_picture DESC LIMIT 8;

Неактивен

 

#5 21.12.2011 16:10:51

Risk07
Участник
Зарегистрирован: 20.12.2011
Сообщений: 5

Re: Записи с уникальными значениями

vasya написал:

Если последняя это строка с максимальным значением date, то


SELECT id_member,id_picture,thumbfilename,title,`date` FROM smf_gallery_pic s join
(SELECT id_member, max(`date`) md FROM smf_gallery_pic WHERE(user_id_cat != 0 AND approved = 1) || (approved = 1 AND user_id_cat = 0) group by id_member ) t1 on s.id_member=t1.id_member and s.`date`=t1.md ORDER BY id_picture DESC LIMIT 8;

Ошибка:
#1052 - Column 'id_member' in field list is ambiguous

Неактивен

 

#6 21.12.2011 16:22:08

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

Re: Записи с уникальными значениями

Полагаю, надо
SELECT s.id_member
или из какой таблицы Вам в итоге нужны данные? Не вникал в запрос, просто добавьте алиас таблицы к полю id_member в селекте.


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

#7 21.12.2011 16:38:30

Risk07
Участник
Зарегистрирован: 20.12.2011
Сообщений: 5

Re: Записи с уникальными значениями

Neval написал:

Полагаю, надо
SELECT s.id_member
или из какой таблицы Вам в итоге нужны данные? Не вникал в запрос, просто добавьте алиас таблицы к полю id_member в селекте.

Не очень понимаю вопрос, но данные нужны из smf_gallery_pic

Неактивен

 

#8 21.12.2011 16:47:46

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

Re: Записи с уникальными значениями

Вам правильно подсказали, что нужно указать
SELECT s.id_member, id_picture....
вместо
SELECT id_member, id_picture....

Неактивен

 

#9 21.12.2011 16:55:57

Risk07
Участник
Зарегистрирован: 20.12.2011
Сообщений: 5

Re: Записи с уникальными значениями

Спасибо всем! Получилось smile

Неактивен

 

Board footer

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