select top 1 * from table order by name Asc这句话的意思是返回table下name列的最后一条记录对吧?若table中name列为:
111
114
112
110
113我需要的是name列的最后一项113的数字,可实际返回是110,高手帮忙给改改如何?
111
114
112
110
113我需要的是name列的最后一项113的数字,可实际返回是110,高手帮忙给改改如何?
--你这个并不是按某个字段排序,而是取最后一条。
--可以借助临时表,如下:
select id=identity(int,1,1),* into # from [table]
select top 1 * from # order by id desc
select [name]
from tableselect top 1 *
from @tmp
order by name Desc
所以排序后是:
110
111
112
113
114
然后你取top 1,那么结果就是 110了
数据表中是否还有ID字段等?
如果有ID号是流水号.可以是:Select Name From Table Where ID=(Select Max(ID) From Table)
Select Top 1 Name From Table Order By ID Desc如果数据量大,不建议把全部数据取出再拿 top 1.
insert ta select
'111' union all select
'114' union all select
'112' union all select
'110' union all select
'113'
go
declare tb cursor scroll local
for
select * from ta open tb
fetch first from tb -- 第1条
/*
vname
--------------------
111(所影响的行数为 1 行)
*/fetch ABSOLUTE 2 from tb -- 第2条
/*vname
--------------------
114(所影响的行数为 1 行)
*/fetch last from tb -- last
/*
vname
--------------------
113(所影响的行数为 1 行)
*/
deallocate tb drop table ta
110 a
111 b
112 a
113 b
114 a我要等于b的最行一个列记录...也就是113 b,帮忙再给看看...
这是按您讲的更改后的我的页面代码,帮我看看有没有错哟,呵呵!
<%
dim conn,sql,rs
set rs = server.createobject("adodb.recordset")
set conn = server.createObject("ADODB.Connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("/database/data.mdb")
exec = "Select itworkitem From cont Where it=(Select Max(itid) From cont)"
exec = "Select Top 1 itworkitem From cont Order By itid Desc"
rs.open exec,conn,1,1
%>
<%=rs("itworkitem")%>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
--那就:
Select Name,字段2 From Table Where ID=(Select Max(ID) From Table WHERE 字段2='b')
应该加主键。最方便的是流水号的那种。
caid caname caopentime causer caclient castate caitem caclosetime
1 90dc 2008-7-1 用户甲 HP open
2 65adc 2008-3-1 用户乙 DELL open item
itid itworkitem itstate itdepartment ituser itcontent itbill ithour
1 采购物料 物料备料 采购课 用户乙 采购单 080701 1
2 样机测试 样机研发 研发课 用户甲 测试报告 adp08-10dc 5
3 随便试试 正在准备 业务课 用户丙 测试作业 888888 2
4 定单作业 业务开发 业务课 用户丙 email zw08001 2cont
itid itname itsort itworkitem itstate itdepartment ituser itcontent itbill ithour itmg
3 90dc 7 测试样品机 样机研发 研发课 用户甲 测试报告 080101 5 No
5 65dc 3 采购物料 物料采购 采购课 用户乙 采购单 234234 3 No他们之间没做视图或表关系,因为我还不会...我是这样设计计划的...CA是项目总表,如果我开一个项目,我将会由他增加一个记录,就等于多个项目了...ITEM是整个项目的细项,就是每个项目要完成的东西详细的每一条一条的记录...CONT是整个项目的储存数据库,所有关于项目的数据都存在这...然后我想实现这些情况...先用重复调出CA的数据,看看现在有多少项目,且在什么状态...这是我实现的网页,
我现在要用的就是根据CANAME调到CONT里现在的状态,就是采购物料...但现在是整个表的最后一项,非对应项目的...
caid caname caopentime causer caclient castate caclosetime
1 90dc 2008-7-1 用户甲 HP open 采购物料
2 65adc 2008-3-1 用户乙 DELL open 采购物料不知道我说得是否清楚...
exec = "Select itworkitem From cont Where itid in(Select Max(itid) From cont WHERE itname ='b'"都写成这样了,还是输入一样的结果...只想要一个结果...对过ca表格中的caname查询调用cont表格中的itname等于caname的行的itworkname值...