SQL вопрос, как получить последние 10 строк, добавленных или отредактированных? - PullRequest
1 голос
/ 09 апреля 2011

У меня есть таблица с именем notas Тогда это ...

create table notas
(
idnota int primary key identity,
nombre varchar(50),
texto text,
fprogramada datetime
)

Как выбрать последние 10?Но не забывайте, что пользователь может добавить 20 заметок и удалить заметку с id = 19, удалить заметку с id = 15 ...

Тогда запрос должен вернуть:

  • 20
  • 18
  • 17
  • 16
  • 14
  • 13
  • 12
  • 11
  • 10
  • 9

И если он отредактировал заметку с id = 3, запрос должен вернуть:

  • 3
  • 20
  • 18
  • 17
  • 16
  • 14
  • 13
  • 12
  • 11
  • 10

Как мне написать этот запрос?Предпочтительно в виде одного запроса.

Дата ... fprogramada - это не дата создания или редактирования, если это не дата, когда пользователь хочет эту заметку ... например, я прихожу, я открываю свою программу ия хочу отметить примечание ... "пойти с дантистом" fprograma = 15-04-2011 это означает, что "пойти с дантистом" будет в пятницу ...

Ответы [ 4 ]

0 голосов
/ 10 апреля 2011

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

create table notas
(
idnota int primary key identity,
nombre varchar(50),
texto text,
fprogramada datetime,
Modified datetime
)

Затем вы запрашиваете 10 последних модификаций, как это.

select top 10 *
from notas
order by Modified desc
0 голосов
/ 09 апреля 2011

Если fprogramada содержит дату обновления определенной записи, тогда

select top 10 * from notas order by fprogramada desc
0 голосов
/ 09 апреля 2011

Либо SELECT TOP 10 * FROM notas ORDER BY fprogamada DESC, если вы используете T-SQL

0 голосов
/ 09 апреля 2011
select * from notas order by idnota desc limit 10

вернет последние добавленные строки, для редактирования вам нужно сохранить столбец для времени редактирования и обновлять его при каждом редактировании, возможно, вот что такое fprogramada, я не знаю!Как только у вас это получится, просто закажите его вместо идентификатора

. Я только что увидел, что он имеет теги mysql и sql server. Если это ms sql server, вам нужно выбрать топ 10 вместо этого, mysql - это предел 10

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