主题:数据库查询问题求助
quanfusong
[专家分:150] 发布于 2005-12-19 11:08:00
如果在SQL server数据库中我有一个表叫myTable,里面有一个Time列(类型smalldatetime)列下面有很多数据行,我想查看比指定日期CurrentTime小的数据行有几行,该怎么写查询语句?
select count(*) from myTable order by Time DESC where Time <'CurrentTime'
好像不行阿,应该怎么写呢?请高手指教,谢谢!
回复列表 (共6个回复)
沙发
methuselah [专家分:6840] 发布于 2005-12-19 12:31:00
select count(a)
form (
select 'a' as a
from myTable
where Time <'CurrentTime'
)
板凳
vvvb [专家分:1950] 发布于 2005-12-20 10:31:00
如1楼,先查出记录集,再对记录集的列数进行统计。
3 楼
quanfusong [专家分:150] 发布于 2005-12-20 14:01:00
好像还是有问题阿,在SQL 查询分析器中查询语句如下:
use Northwind
select count(a) from
(
select top 100 OrderDate as a from Orders where OrderDate <='1999-5-14'
)
错误如下:
服务器: 消息 170,级别 15,状态 1,行 5
第 5 行: ')' 附近有语法错误。
但是单独执行括号中的语句
select top 100 OrderDate as a from Orders where OrderDate <='1999-5-14'
没有错误阿,请问为什么?
4 楼
vvvb [专家分:1950] 发布于 2005-12-20 17:19:00
会不会是因为这个不是英文状态下的括号啊。.
5 楼
methuselah [专家分:6840] 发布于 2005-12-20 17:52:00
偶用的是oracle,好象不会有问题,是t_sql的语法问题吧,这个是在我能力范围外的,召唤t_sql达人
6 楼
dy207 [专家分:100] 发布于 2005-12-20 18:28:00
select count(*) from mytable
where time<CurrentTime
我来回复