表结构如下id title rdate
------|-------------|---------
1 aaaaa 2007-6-1
2 aaaaa 2007-6-1
3 aaaaa 2007-6-2
4 aaaaa 2007-6-2
5 aaaaa 2007-6-3
6 aaaaa 2007-6-3
7 aaaaa 2007-6-4
8 aaaaa 2007-6-4
9 aaaaa 2007-6-4我想要输出的时候这样按时间分类输出2007-6-1
1 aaaaa 2007-6-1
2 aaaaa 2007-6-12007-6-2
3 aaaaa 2007-6-2
4 aaaaa 2007-6-22007-6-3
5 aaaaa 2007-6-3
6 aaaaa 2007-6-3
....以此类推。。请指教谢谢
------|-------------|---------
1 aaaaa 2007-6-1
2 aaaaa 2007-6-1
3 aaaaa 2007-6-2
4 aaaaa 2007-6-2
5 aaaaa 2007-6-3
6 aaaaa 2007-6-3
7 aaaaa 2007-6-4
8 aaaaa 2007-6-4
9 aaaaa 2007-6-4我想要输出的时候这样按时间分类输出2007-6-1
1 aaaaa 2007-6-1
2 aaaaa 2007-6-12007-6-2
3 aaaaa 2007-6-2
4 aaaaa 2007-6-22007-6-3
5 aaaaa 2007-6-3
6 aaaaa 2007-6-3
....以此类推。。请指教谢谢
解决方案 »
- 请问如何实现查询出来的数据中NULL部分置空或为0
- 太奇怪的问题了,1个(64->99)*1加上10个(0.01*1)不等于xx.1
- 产品成本计算,bom累加,难题(50)
- insert exec 执行无法返回结果死锁 请大家帮忙看看谢谢
- 求救:在查询分析器中运行一个使用openrowset()函数从DBF导入到SQL Server表中的存储过程,执行期间强行关闭之后,无法再次执行!!
- 一个数据库查询速度的问题
- 我想在每月1号的0点整定时执行一个批处理文件x.sql,请问
- SQL SERVER 有类似于Oracle 的 Sequence 的数据库对象吗?
- 牛人门,请问在单文挡应用中如何用ado建立与sqlserver连接;ado控件怎么用
- SQL语句支持的最大长度为?
- 要插入一条新记录,但不知道新记录的key是否存在。如何测出某个key已经存在了。
- 行列互换
order by title,rdate,px
insert into tb values(1,'aaaaa','2007-6-1')
insert into tb values(2,'aaaaa','2007-6-1')
insert into tb values(3,'aaaaa','2007-6-2')
insert into tb values(4,'aaaaa','2007-6-2')
insert into tb values(5,'aaaaa','2007-6-3')
insert into tb values(6,'aaaaa','2007-6-3')
insert into tb values(7,'aaaaa','2007-6-4')
insert into tb values(8,'aaaaa','2007-6-4')
insert into tb values(9,'aaaaa','2007-6-4')
goselect px=(select count(1) from tb where title=a.title and rdate=a.rdate and id < a.id)+1 , * from tb a
order by title,rdate,pxdrop table tb/*
px id title rdate
----------- ----------- ---------- ------------------------------------------------------
1 1 aaaaa 2007-06-01 00:00:00.000
2 2 aaaaa 2007-06-01 00:00:00.000
1 3 aaaaa 2007-06-02 00:00:00.000
2 4 aaaaa 2007-06-02 00:00:00.000
1 5 aaaaa 2007-06-03 00:00:00.000
2 6 aaaaa 2007-06-03 00:00:00.000
1 7 aaaaa 2007-06-04 00:00:00.000
2 8 aaaaa 2007-06-04 00:00:00.000
3 9 aaaaa 2007-06-04 00:00:00.000(所影响的行数为 9 行)
*/
insert into tb values(1,'aaaaa','2007-6-1')
insert into tb values(2,'aaaaa','2007-6-1')
insert into tb values(3,'aaaaa','2007-6-2')
insert into tb values(4,'aaaaa','2007-6-2')
insert into tb values(5,'aaaaa','2007-6-3')
insert into tb values(6,'aaaaa','2007-6-3')
insert into tb values(7,'aaaaa','2007-6-4')
insert into tb values(8,'aaaaa','2007-6-4')
insert into tb values(9,'aaaaa','2007-6-4')
goselect * from
(
select distinct convert(varchar(10),rdate,120) id , title = '' , rdate = convert(varchar(10),rdate,120) from tb
union all
select cast(id as varchar) id ,title, convert(varchar(10),rdate,120) rdate from tb
) t
order by rdate , case when charindex('-',id) > 0 then 1 else 2 enddrop table tb/*
id title rdate
------------------------------ ---------- ----------
2007-06-01 2007-06-01
1 aaaaa 2007-06-01
2 aaaaa 2007-06-01
2007-06-02 2007-06-02
3 aaaaa 2007-06-02
4 aaaaa 2007-06-02
2007-06-03 2007-06-03
5 aaaaa 2007-06-03
6 aaaaa 2007-06-03
2007-06-04 2007-06-04
7 aaaaa 2007-06-04
8 aaaaa 2007-06-04
9 aaaaa 2007-06-04(所影响的行数为 13 行)
*/