好贷网好贷款

SQL这个查询怎么写啊。。 40hanhao422]

发布时间:2016-12-5 8:34:29 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"SQL这个查询怎么写啊。。 40hanhao422]",主要涉及到SQL这个查询怎么写啊。。 40hanhao422]方面的内容,对于SQL这个查询怎么写啊。。 40hanhao422]感兴趣的同学可以参考一下。

一个表az304  字段a0100,time 现在情况是time有多个,a0100相同。要查出其中最大的time而且这个time要小于现在的时间。 sql如何拼写。。想了半天也不知道怎么搞,求大神帮帮忙

SELECT a0100,MAX(time) FROM az304 WHERE time < GETDATE() GROUP BY a0100

引用 1 楼  的回复:SQL code SELECT a0100,MAX(time) FROM az304 WHERE time < GETDATE() GROUP BY a0100 这样明显是不对的

有没有人啊。。。啊啊啊啊啊

引用 2 楼  的回复:引用 1 楼  的回复: SQL code SELECT a0100,MAX(time) FROM az304 WHERE time < GETDATE() GROUP BY a0100 这样明显是不对的 多明显不对?给出你的测试数据和结果,上面的语句就是选出time小于当前时间的最大值。

IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE name = 'az304') BEGIN DROP TABLE az304 END GO CREATE TABLE az304 ( a0100 INT, time DATETIME ) GO INSERT INTO az304 SELECT 1,'2012-05-17 15:38:30' UNION SELECT 1,'2012-05-15 15:38:30' UNION SELECT 1,'2012-05-14 15:38:30' UNION SELECT 1,'2012-05-13 15:38:30' UNION SELECT 2,'2012-05-18 15:38:30' UNION SELECT 2,'2012-05-14 15:38:30' UNION SELECT 2,'2012-05-11 15:38:30'  SELECT a0100,MAX([time]) FROM az304 WHERE [time] < GETDATE() GROUP BY a0100 a0100 (No column name) 1 2012-05-15 15:38:30.000 2 2012-05-14 15:38:30.000

如果time只有时间没有日期,getdate()替换成CONVERT(VARCHAR(10),GETDATE(),8)就可以了。

引用 5 楼  的回复:SQL code IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE name = 'az304') BEGIN     DROP TABLE az304 END GO CREATE TABLE az304 (     a0100 INT,     time DATETIME ) GO INSERT INTO az304 SELECT 1,'2012-05-1……可能你没明白我的意思。我意思的结果应该是你写的5月18和5月17这两条数据

引用 6 楼  的回复:如果time只有时间没有日期,getdate()替换成CONVERT(VARCHAR(10),GETDATE(),8)就可以了。额错了,不是5月18,5月17.这两条应该是没数据的。我现在做的是劳动合同。验证某人有合同有没有过期。

引用楼主  的回复:一个表az304  字段a0100,time 现在情况是time有多个,a0100相同。要查出其中最大的time而且这个time要小于现在的时间。 sql如何拼写。。想了半天也不知道怎么搞,求大神帮帮忙 你自己写的小于现在的时间。。。 那如果所有时间都没有大于当前时间的话,怎么显示?

引用 6 楼  的回复:如果time只有时间没有日期,getdate()替换成CONVERT(VARCHAR(10),GETDATE(),8)就可以了。 INSERT INTO az304 SELECT 1,'2012-05-17 15:38:30' UNION SELECT 1,'2012-05-15 15:38:30' UNION SELECT 1,'2012-05-14 15:38:30' UNION SELECT 1,'2012-05-13 15:38:30' UNION SELECT 2,'2012-05-18 15:38:30' UNION SELECT 2,'2012-05-14 15:38:30' UNION SELECT 2,'2012-05-11 15:38:30' UNION SELECT 3,'2012-05-14 15:38:30' UNION SELECT 3,'2012-05-11 15:38:30' UNION 若果像我插入第三条的那样。就该查出来。因为他过期了。

引用 9 楼  的回复:引用楼主  的回复: 一个表az304  字段a0100,time 现在情况是time有多个,a0100相同。要查出其中最大的time而且这个time要小于现在的时间。 sql如何拼写。。想了半天也不知道怎么搞,求大神帮帮忙 你自己写的小于现在的时间。。。 那如果所有时间都没有大于当前时间的话,怎么显示?是的最大时间小于现在时间要显示,大于就不显示出来。。。。。。。

引用 9 楼  的回复:引用楼主  的回复: 一个表az304  字段a0100,time 现在情况是time有多个,a0100相同。要查出其中最大的time而且这个time要小于现在的时间。 sql如何拼写。。想了半天也不知道怎么搞,求大神帮帮忙 你自己写的小于现在的时间。。。 那如果所有时间都没有大于当前时间的话,怎么显示?大神help me,我实在不知道怎么查了

SELECT a0100,MAX([time]),CASE WHEN MAX([time]) < GETDATE() THEN '过期'                   ELSE '未过期' END FROM az304 GROUP BY a0100 a0100 (No column name) (No column name) 1 2012-05-17 15:38:30.000 未过期 2 2012-05-18 15:38:30.000 未过期 3 2012-05-13 15:38:30.000 过期 直接过滤掉 --直接不显示 SELECT a0100,MAX([time]) FROM az304 GROUP BY a0100 HAVING MAX([time]) < GETDATE() a0100 (No column name) 3 2012-05-13 15:38:30.000

引用 13 楼  的回复:SQL code SELECT a0100,MAX([time]),CASE WHEN MAX([time]) < GETDATE() THEN '过期'                   ELSE '未过期' END FROM az304 GROUP BY a0100 a0100    (No column name)    (No column name) 1    2012-05-……非常感谢

上一篇:SQL 2008里更新geometry信息,索引边界会改变不 20分,无满意结帖,结帖人piqi8856]
下一篇:数据库 条件语句 使用 20DanSir]

相关文章

相关评论