powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / select distinct datetime
6 сообщений из 6, страница 1 из 1
select distinct datetime
    #40017022
bivilbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Есть таблица
id,user_id,last_dt_action

id primary key, ai

(5,'222','2020-11-11 07:00'),
(4,'333','2020-11-11 05:00'),
(3,'444','2020-11-11 01:00'),
(2,'222','2020-11-11 03:00'),
(1,'333','2020-11-11 04:00')

Как можно используя distinct(user_id) и max(last_dt_action) получить

user_id,last_dt_action,id
222,'2020-11-11 07:00',5
333,'2020-11-11 05:00',4
444,'2020-11-11 01:00',3

Т.е. уник юзера, последний ид и дату по все таблице.

Спасибо!
...
Рейтинг: 0 / 0
select distinct datetime
    #40017025
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
select distinct datetime
    #40017948
bivilbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Блин. Сорри. Забыл...
Спасибо!
...
Рейтинг: 0 / 0
select distinct datetime
    #40019471
Фотография Жук в муравейнике
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bivilbi,

может быть хочешь в один проход без извращений
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
select user_id,
       last_dt_action,
       id
from (
         select user_id,
                last_dt_action,
                id,
                dense_rank() over (partition by user_id order by last_dt_action desc) dn
         from (
                  select 5 id, '222' user_id, '2020-11-11 07:00' last_dt_action
                  union all
                  select 4, '333', '2020-11-11 05:00'
                  union all
                  select 3, '444', '2020-11-11 01:00'
                  union all
                  select 2, '222', '2020-11-11 03:00'
                  union all
                  select 1, '333', '2020-11-11 04:00'
              ) a
     ) a2
where a2.dn = 1
...
Рейтинг: 0 / 0
select distinct datetime
    #40019521
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жук в муравейнике , а почему именно DENSE_RANK()? Ну и если MySQL восьмёрка, уж лучше CTE, чем подзапрос, нагляднее...
...
Рейтинг: 0 / 0
select distinct datetime
    #40019700
Фотография Жук в муравейнике
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

та без разницы, можно и row_number, главное, что одним проходом. CTE или подзапрос - вопрос вкуса, для простейшего примера подзапрос показался быстрее
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / select distinct datetime
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]