Подтвердить что ты не робот

Получить последнюю запись таблицы в Postgres

Я использую Postgres и не могу получить последнюю запись моей таблицы:

 my_query = client.query("SELECT timestamp,value,card from my_table");

Как мне сделать, что известно, что временная метка является уникальным идентификатором записи?

4b9b3361

Ответ 1

Если вы имеете в виду запись, которая имеет последнее значение временной метки

последняя запись

my_query = client.query("
SELECT timestamp,value,card from my_table 
order by timestamp desc limit 1");

Ответ 2

вы можете использовать

SELECT timestamp, value, card 
FROM my_table 
ORDER BY timestamp DESC 
LIMIT 1

Предполагая, что вы хотите также сортировать по timestamp?

Ответ 3

Если вы принимаете подсказку, создайте идентификатор в этой таблице, как серийный. По умолчанию это поле будет:

nextval('table_name_field_seq'::regclass).

Итак, вы используете запрос для вызова последнего регистра. Используя ваш пример:

pg_query($connection, "SELECT currval('table_name_field_seq') AS id;

Я надеюсь, что этот совет поможет вам.

Ответ 4

Последняя вставленная запись может быть запрошена с использованием этого предположения, что в качестве первичного ключа у вас есть "id":

SELECT timestamp,value,card FROM my_table WHERE id=(select max(id) from my_table)

Предполагая, что каждая новая вставленная строка будет использовать наивысшее целочисленное значение для идентификатора таблицы.