Chvalov
@Chvalov

Как отфильтровать старые записи в mysql и вывести последнюю по дате создания с помощью php ?

Есть БД например polzovateli_statistica и есть таблица sesii
____________________________________________________________________
|status		|user_name	|started		|	uid |
|3		|res2011	|18.07.2014 19:50:41	|	17  |
|3		|voitko		|18.07.2014 14:16:35	|	19  |
|3		|shust		|18.07.2014 14:26:24	|	23  |
|3		|res2011	|18.07.2014 12:22:52	|	17  |
|3		|yulenciya	|18.07.2014 10:41:23	|	32  |
|3		|kateya		|15.07.2014 20:09:09	|	44  |
|3		|res2011	|17.07.2014 21:38:04	|	17  |
|3		|kleopatra	|18.07.2014 9:09:59	|	52  |
|___________________________________________________________________|


И как видим есть пользователь с id 17 (uid)
И в поле started записаны все его авторизации, мне нужно отфильтровать все записи чтобы не было дублей с uid так чтобы отображалась только последняя дата авторизации.
Должно бить только последняя запись с его uid

Подключился я к бд
<?php
mysql_connect("localhost", "root", "", "polzovateli_statistica");
mysql_query('SET NAMES utf8');
?>
А что дальше сделать не знаю ((
Помогите, первый раз делаю такое
  • Вопрос задан
  • 2507 просмотров
Пригласить эксперта
Ответы на вопрос 2
@bzz
select * from (select * from polzovateli_statistica order by started DESC) t group by uid
Ответ написан
Я бы использовал другой запрос, более быстрый:
SELECT * FROM polzovateli_statistica ps
WHERE NOT EXISTS (
    SELECT 1 FROM polzovateli_statistica WHERE uid = ps.uid AND started > ps.started
)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы