我有一张叫notas的桌子那就是..。
create table notas
(
idnota int primary key identity,
nombre varchar(50),
texto text,
fprogramada datetime
)我如何选择最后的10个?但是不要忘记用户可以添加20条注释,用id=19删除便条,用id=15删除便条。
然后查询必须返回:
H 11910
如果他用id=3编辑了注释,那么查询必须返回:
>H 13316H 234H 13514H 236H 13713H 238H 13912H 240H 14111
我应该如何写这个查询?最好作为一个单一的查询。
约会..。fprogramada不是创建或编辑的日期,如果不是,它是用户想要的日期。例如,我来打开我的程序,我想记下一张便条.“和牙医一起去”fprograma= 15-04-2011它提到“和牙医一起去”将在周五.
发布于 2011-04-09 21:05:07
您需要在表中新建一个列,该列包含上次修改行时的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发布于 2011-04-09 18:27:06
select * from notas order by idnota desc limit 10将返回最后添加的行,为编辑,您需要维护一个列的编辑时间,并更新它与每一个编辑,也许这就是fprogramada,我不知道!一旦你有了它,就按它来订购,而不是ID。
我刚刚看到它同时有mysql和sql server标记,如果它是ms sql server,则需要选择top 10,mysql是限制10。
发布于 2011-04-09 18:28:29
假设fprogramada包含特定记录的更新日期,则
select top 10 * from notas order by fprogramada deschttps://stackoverflow.com/questions/5606959
复制相似问题