Как выбрать все строки, имеющие одинаковое и последнее значение в определенном столбце из базы данных MySQL - PullRequest
0 голосов
/ 30 марта 2019

Я хочу выбрать все строки с одинаковым и самым поздним временем в определенном столбце, т.е. time1. Изображение ниже дает краткое представление о моем вопросе. Пожалуйста, ведите меня с этим. Заранее спасибо.

enter image description here

Ответы [ 3 ]

1 голос
/ 30 марта 2019

Вот решение, которое опирается на оконную функцию RANK(), доступную с MySQL 8.0:

SELECT *
FROM (SELECT id, name, time1, RANK() OVER(ORDER BY time1 DESC) rnk FROM mytable) x
WHERE rnk = 1

Внутренний запрос присваивает ранг каждой записи, отсортированной по убыванию времени;верхние галстуки получают одинаковое звание 1.Тогда внешний запрос просто фильтрует записи, имеющие ранг 1.

1 голос
/ 30 марта 2019

Вы можете использовать sunquery для максимального времени

        select * from my_table  
        where time1  = (
          select max(time1)
          from my_table  
        )
0 голосов
/ 30 марта 2019

Пожалуйста, попробуйте это,

select * from table1 where time1  =(select time1 from table1 order by time1 limit 0,1);

или

select * from table1 where time1  = ( select max(time1) from table1 )

или

 select * from table1 where time1=(select TOP 1 time1 from table1 order by time1 desc  )  

DEMO

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...