#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);