Как отобразить текущие последние строки в соответствии со временем?

#mysql #linux

#mysql #linux

Вопрос:


Следующая база данных, созданная (выберите * из пользователей).Как я могу отобразить последние строки в соответствии со временем (т. е. для времени я использовал date % s).Но здесь он отображает все временные рамки.Мне нужны строки со временем последнего обновления.

 | time       | userid   | groupid   | 
 ------------ ---------- ----------- 
| 1477044791 | spolishe | MEMS      |         
| 1477044791 | ssarkar  | HCG       |        
| 1477044791 | svaranas | PDSP_DES  |       
| 1476868065 | dnehra   | HCG       |       
| 1476868065 | dprabhu  | PDSP_DES  |         
  

Мой ожидаемый результат: (но он мог бы быть сгенерирован с помощью некоторых команд Linux, таких как date % s).Существуют ли какие-либо команды Linux, которые извлекают только последние строки за последнее время (или) Можно ли использовать внутри запроса insert mysql путем сохранения в некотором имени переменной.

 | time       | userid   | groupid   |

| 1477044791 | spolishe | MEMS      |         
| 1477044791 | ssarkar  | HCG       |        
| 1477044791 | svaranas | PDSP_DES  |    
  

Комментарии:

1. Вы можете создать скрипт, который отправляет запрос в базу данных, запрос должен использовать UNIX_TIMESTAMP();

Ответ №1:

Вы хотите представить время в правильной форме даты? если да;

 select from_unixtime(time), * from user order by time desc
  

Комментарии:

1. Если вы хотите отфильтровать набор данных, вы можете использовать select * from user, где time > UNIX_TIMESTAMP(<дата>)

Ответ №2:

Вы могли бы указать, что вам нужны только элементы, время которых равно времени наибольшего значения, которое содержит столбец в таблице.

SELECT * FROM users where time = (Select max(time) from users);