Подскажите по запросу...

Статус
В этой теме нельзя размещать новые ответы.

silent9

Постоялец
Регистрация
7 Июн 2008
Сообщения
136
Реакции
11
id uid user_id ipaddr time
301 14 5 81.88.x.x 1228378994
302 1 9 81.88.x.x 1228379087
303 14 5 81.88.x.x 1228379166
304 14 18 81.88.x.x 1228379181
305 4 27 81.88.x.x 1228379195

например $u['id']=14;

select DISTINCT uid,
id, ipaddr, user_id, time from u_visit where uid=".$u['id']."
group by user_id order by id desc limit 10

начинается выбор с начала, т.е order by id уже осуществляется после выборки, а мне надо сделать выбор с конца таблицы, как такое можно осуществить?
нужно для отображения последних пользователей посетивших страницу, сейчас выборка идет сначала таблицы и отображаются все одни и те же
 
Все там отлично выбирает, как нужно. GROUP BY убери и все будет нормально.
 
мне нужно чтобы user_id не повторялись... если group by убрать выберет последние 10 с одинаковыми user_id
 
Так тебе получается нужно, чтобы он группировал в обратном порядке? Тогда держи:

PHP:
select DISTINCT * from (select DISTINCT uid, 
id, ipaddr, user_id, time from u_visit where uid=14  
 order by id desc limit 10) as u_visit2 where uid=14  
group by user_id order by id desc limit 10
 
select top 10 distinct U.name from users as U
Left join u_visit as V On V.user_id = U.Id
where U.Id is not null
order by U.id desc

Вот так будет правильнее!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху