我的数据库里的记录是这样的CODE NAME PRICE UNIT MODIFYDATE MODIFYTIME STARTDATE ENDDTAE
001001 YY 12.00 斤 2004-08-01 01:01 2004-08-10 2004-08-19
001001 YY 13.00 斤 2004-08-18 02:02 2004-08-20 2004-08-31
001002 TT 11.00 瓶 2004-08-02 01:02 2004-08-10 2004-08-19
001002 TT 15.00 瓶 2004-08-18 05:06 2004-08-20 2004-08-31
..
.
.
.
.
.
要取出MODIFYDATE最大的记录
当然如果有时间的话最好加上如果二个MODIFYDATE相等的情况下比较MODIFYTIME哪个大就取哪个记录
结果应该为CODE NAME PRICE UNIT MODIFYDATE MODIFYTIME STARTDATE ENDDTAE
001001 YY 13.00 斤 2004-08-18 02:02 2004-08-20 2004-08-31
001002 TT 15.00 瓶 2004-08-18 05:06 2004-08-20 2004-08-31
.
.
.
001001 YY 12.00 斤 2004-08-01 01:01 2004-08-10 2004-08-19
001001 YY 13.00 斤 2004-08-18 02:02 2004-08-20 2004-08-31
001002 TT 11.00 瓶 2004-08-02 01:02 2004-08-10 2004-08-19
001002 TT 15.00 瓶 2004-08-18 05:06 2004-08-20 2004-08-31
..
.
.
.
.
.
要取出MODIFYDATE最大的记录
当然如果有时间的话最好加上如果二个MODIFYDATE相等的情况下比较MODIFYTIME哪个大就取哪个记录
结果应该为CODE NAME PRICE UNIT MODIFYDATE MODIFYTIME STARTDATE ENDDTAE
001001 YY 13.00 斤 2004-08-18 02:02 2004-08-20 2004-08-31
001002 TT 15.00 瓶 2004-08-18 05:06 2004-08-20 2004-08-31
.
.
.
解决方案 »
- VB控制XML post数据问题
- 请求下高手DSOframer下更新FILLIN 域代码
- 怎样去掉commandbutton上已加载的图片?????
- 如何快速从一个byte数组中截取一段并放入另一个byte数组??
- 请问?如何对两个rs对象进行交集查询?
- sql问题!
- 高分求教,QuickReport究竟是什么格式的文件呀!~?
- 有人做过用VB画K线图的例子吗?直接用VB画矩形还是可以使用控件?
- 如何在AddNew后立即取得ID号?高分急,在线等候
- 谁知道:在vb中怎样播放某wav文件的其中一段?
- 谁有imgocxd.hlp文件?
- 发工资了,终于可以自己挣钱了,不再花父母的血汗钱了 高兴 散分!!!!!!!
select top 1 * from 表 order by MODIFYDATE ,MODIFYTIME
如果是取一条最大的记录是
select top 1 * from 表 order by MODIFYDATE ,MODIFYTIME desc
你的结果为ID NAME
367 MMM ....
只有一条记录高手在哪
select * from 表 MODIFYDATE=MAX(MODIFYDATE) order by modifytime
modifydate=(select max(modifydtate) from price where code=a.code)
错误:
除非同时指定了TOP否则ORDER BY 子句在视图里查询无效
where附近有语法错误
group by CODE,NAME,PRICE,UNIT,STARTDATE,ENDDTAE
order by max(MODIFYDATE),max(MODIFYTIME)
当然如果有时间的话最好加上如果二个MODIFYDATE相等的情况下比较MODIFYTIME哪个大就取哪个记录
结果应该为CODE NAME PRICE UNIT MODIFYDATE MODIFYTIME STARTDATE ENDDTAE
001001 YY 13.00 斤 2004-08-18 02:02 2004-08-20 2004-08-31
001002 TT 15.00 瓶 2004-08-18 05:06 2004-08-20 2004-08-31
到底是取MODIFYDATE最大还是MODIFYDATE+MODIFYTIME最大?
如果是MODIFYDATE最大可能有多条,而MODIFYDATE+MODIFYTIME最大只能有一条
我又试了下,你的可以了,不过我还想再麻烦下你
我想在相同的MODIFYDATE(因为可能查出来的最大的MODIFYDATE是相同的)下通过MODIFYTIME来比较而得出唯一的一条记录
还请多指点,一定再加分!
select * from 表 where MODIFYDATE = (select max(MODIFYDATE) from 表)
取MODIFYDATE+MODIFYTIME最大:
select * from 表
where MODIFYDATE = (select max(MODIFYDATE) from 表)
and MODIFYTIME=(select max(MODIFYTIME) from 表
where MODIFYDATE = (select max(MODIFYDATE) from 表))
select * from 表 order by MODIFYDATE ,MODIFYTIME desc where MODIFYDATE in (select top 1 MODIFYDATE from 表 order by MODIFYDATE ,MODIFYTIME desc)
No.2问题
select top 1 * from 表 order by MODIFYDATE ,MODIFYTIME desc
好的,我试下
谢谢大家这么热情
select * from 表 where MODIFYDATE in (select max(MODIFYDATE) from 表) and MODIFYTIME in(select max(MODIFYTIME) from 表 where MODIFYDATE in (select max(MODIFYDATE) from 表) )
MODIFYDATE MODIFYTIME 两个字段可以用一个字段
你的有点问题的,没有显示出最大的来
真的要作的话就要同时判断了
首先判断MODIFYDATE,如果相等则判断MODIFYTIME
acunchen(acunchen)
我试试你的啊
where附近有语法错误!
(select STARTDATE from TableA where MODIFYDATE = a.MODIFYDATE and MODIFYTIME =a.MODIFYTIME),(select ENDDATE from TableA where MODIFYDATE = a.MODIFYDATE and MODIFYTIME =a.MODIFYTIME) from TableA a
group by CODE,NAME
mistake:
select * from 表 where MODIFYDATE=MAX(MODIFYDATE) Order by MODIFYTIME
這樣可以嗎?
聚合函数只能用在having子句中
错误:
查询中不包含作为合计函数一部分的特定表达式‘MODIFYDATE’
用你的语句查询连一个结果也没有
肯定没有问题,全部数据库通用
(select code,max(modifydate) as modifydate,max(modifytime)as modifytime from test group by code)tt
on t.code=tt.code and t.modifydate=tt.modifydate and t.modifytime=tt.modifytime
可以使用子查询方式
如果需要在选择,以此类推即可,快给我加分呀,谢谢。^_^
是融合了 yonghengdizhen(等季节一过,繁花就凋落') 和GUNSROSERS()的语句
在这里要感谢你们了
开始结分
yonghengdizhen(等季节一过,繁花就凋落')你在另一处我的问题那会有分的,这里我就不多给了,从多的。不好意思啊,不过还是你的功劳最大,让我想通了套用SQL,十分感谢呢!
表price:
code price modifydate midifytime startdate enddate
001001 12 2004-07-08 01:01:01 2004-07-10 2004-07-21
001001 15 2004-07-08 01:09:08 2004-07-10 2004-07-21
001001 13 2004-07-18 19:15:01 2004-07-22 2004-07-31001002 10 2004-07-08 01:01:01 2004-07-10 2004-07-21
001002 18 2004-07-08 01:09:08 2004-07-10 2004-07-21
001002 14 2004-07-18 19:15:01 2004-07-22 2004-07-31
.
.
.
.
.
表goods:(code 和name是唯一的)
code unit name
001001 斤 mm
001002 斤 yy
001003 瓶 dd
.
.
.
.我现在需要显示出来的结果为
CODE NAME PRICE UNIT MODIFYDATE MODIFYTIME STARTDATE ENDDTAE
001001 mm 13.00 斤 2004-07-18 19:15:01 2004-07-22 2004-07-31
001002 yy 14.00 斤 2004-07-18 19:15:01 2004-07-23 2004-07-31
..
.
.
我现在自编的语句如下
SELECT a.code, Goods.name, Goods.unit, a.price, a.ModifyDate, a.ModifyTime, a.StartDate,
a.EndDate, a.code
FROM Price a, Goods
WHERE a.code = Goods.code AND (a.ModifyDate =
(SELECT MAX(modifydate)
FROM price
WHERE code = a.code)) AND (a.ModifyTime =
(SELECT MAX(MODIFYTIME)
FROM price
WHERE code = a.code)) AND (a.ModifyDate =
(SELECT MAX(MODIFYDATE)
FROM price
WHERE code = a.code))
ORDER BY a.code, Goods.name, Goods.unit, a.price运行显示正确的,但我改动后还是有点错(在日期相同的情况下能选出时间最大的那条记录,但当日期不同,而且时间不同时,就不对了)
不请大家指点下