问一个很长的查询串?
有个表有100个记录
写一个查询
得到记录数从20-60数据段中 age> 20 sex=1 的实际记录数和age字段,sex字段
不知道说明白没有.
步骤是这样的
1.取得 100记录中的 20-60这段记录
2.在这40条记录中取出age> 20 sex=1的记录,一般少与40条
3.得到实际的符合条件的记录总数字段,age字段,sex字段...组成结果集
怎么写成一条语句
前2个实现方法是
selsect top xxx,xxx from ...where (id NOT IN(.........) and age> 20 and sex=1 .....
但是再添加一个条件,获得记录数,该怎么写/
------解决方案--------------------select count(*) from
(
selsect top xxx,xxx from ...where (id NOT IN(.........) and age> 20 and sex=1 .....
) t
------解决方案--------------------???
1.取得 100记录中的 20-60这段记录
select * from TAB where age> =20 and age <=60
2.在这40条记录中取出age> 20 sex=1的记录,一般少与40条
select * from TAB where age> 20 and age <=60 and sex=1
3.得到实际的符合条件的记录总数字段,age字段,sex字段...组成结果集
???
------解决方案--------------------select * from TAB where age> =20 and age <=60
理解错了她意思是取出100条数据中的第20-60的数据
top xxx,xxx 这样不可以的吧
------解决方案--------------------select * from (select top 40 * from t where id not in(select top 20 id from t) and sex=1 and age> 20) b,
(
select count(1) num,a.sex
from
(select top 40 * from t where id not in(select top 20 id from t) and sex=1 and age> 20
) a
group by a.sex
) c
where c.sex=b.sex
但是总数会出现很多行,只是说统计出来了而已!