数据库里的数据 如下演示3 2010-03-09 18:58:19.380 湖北省,武汉市,市辖区;
演示3 2010-03-09 18:58:24.867 湖北省,武汉市,市辖区;
演示3 2010-03-09 18:58:30.053 湖北省,武汉市,市辖区;
演示3 2010-03-09 18:58:35.740 湖北省,武汉市,市辖区;
演示3 2010-03-09 18:58:41.053 湖北省,武汉市,市辖区;
演示3 2010-03-09 18:58:46.693 湖北省,武汉市,新洲区;
演示3 2010-03-09 18:58:52.083 湖北省,武汉市,新洲区;
演示3 2010-03-09 18:58:57.663 湖北省,武汉市,新洲区;
演示3 2010-03-09 19:22:45.200 湖北省,武汉市,市辖区;
演示3 2010-03-09 23:03:43.170 湖北省,武汉市,市辖区;
演示3 2010-03-10 00:34:11.060 湖北省,武汉市,市辖区;
演示3 2010-03-10 10:15:18.887 湖北省,武汉市,市辖区;
演示3 2010-03-10 11:21:45.717 湖北省,武汉市,市辖区;
使用SQL查询怎样才能显示如下演示3 2010-03-09 18:58:19.380 2010-03-09 18:58:41.053 湖北省,武汉市,市辖区;
演示3 2010-03-09 18:58:46.693 2010-03-09 18:58:57.663 湖北省,武汉市,新洲区;
演示3 2010-03-09 19:22:45.200 2010-03-10 11:21:45.717 湖北省,武汉市,市辖区;
演示3 2010-03-09 18:58:24.867 湖北省,武汉市,市辖区;
演示3 2010-03-09 18:58:30.053 湖北省,武汉市,市辖区;
演示3 2010-03-09 18:58:35.740 湖北省,武汉市,市辖区;
演示3 2010-03-09 18:58:41.053 湖北省,武汉市,市辖区;
演示3 2010-03-09 18:58:46.693 湖北省,武汉市,新洲区;
演示3 2010-03-09 18:58:52.083 湖北省,武汉市,新洲区;
演示3 2010-03-09 18:58:57.663 湖北省,武汉市,新洲区;
演示3 2010-03-09 19:22:45.200 湖北省,武汉市,市辖区;
演示3 2010-03-09 23:03:43.170 湖北省,武汉市,市辖区;
演示3 2010-03-10 00:34:11.060 湖北省,武汉市,市辖区;
演示3 2010-03-10 10:15:18.887 湖北省,武汉市,市辖区;
演示3 2010-03-10 11:21:45.717 湖北省,武汉市,市辖区;
使用SQL查询怎样才能显示如下演示3 2010-03-09 18:58:19.380 2010-03-09 18:58:41.053 湖北省,武汉市,市辖区;
演示3 2010-03-09 18:58:46.693 2010-03-09 18:58:57.663 湖北省,武汉市,新洲区;
演示3 2010-03-09 19:22:45.200 2010-03-10 11:21:45.717 湖北省,武汉市,市辖区;
-- Author :SQL77(只为思齐老)
-- Date :2010-03-10 13:46:30
-- Version:
-- Microsoft SQL Server 2000 - 8.00.194 (Intel X86)
-- Aug 6 2000 00:57:48
-- Copyright (c) 1988-2000 Microsoft Corporation
-- Desktop Engine on Windows NT 5.1 (Build 2600: Service Pack 3)
--
----------------------------------------------------------------
--> 测试数据:#TB
if object_id('tempdb.dbo.#TB') is not null drop table #TB
go
create table #TB([A] varchar(5),[C2] datetime,[C3] varchar(21))
insert #TB
select '演示3','2010-03-09 18:58:19.380','湖北省,武汉市,市辖区;' union all
select '演示3','2010-03-09 18:58:24.867','湖北省,武汉市,市辖区;' union all
select '演示3','2010-03-09 18:58:30.053','湖北省,武汉市,市辖区;' union all
select '演示3','2010-03-09 18:58:35.740','湖北省,武汉市,市辖区;' union all
select '演示3','2010-03-09 18:58:41.053','湖北省,武汉市,市辖区;' union all
select '演示3','2010-03-09 18:58:46.693','湖北省,武汉市,新洲区;' union all
select '演示3','2010-03-09 18:58:52.083','湖北省,武汉市,新洲区;' union all
select '演示3','2010-03-09 18:58:57.663','湖北省,武汉市,新洲区;' union all
select '演示3','2010-03-09 19:22:45.200','湖北省,武汉市,市辖区;' union all
select '演示3','2010-03-09 23:03:43.170','湖北省,武汉市,市辖区;' union all
select '演示3','2010-03-10 00:34:11.060','湖北省,武汉市,市辖区;' union all
select '演示3','2010-03-10 10:15:18.887','湖北省,武汉市,市辖区;' union all
select '演示3','2010-03-10 11:21:45.717','湖北省,武汉市,市辖区;'
--------------开始查询--------------------------
SELECT * ,0 AS C INTO #T FROM #TB
DECLARE @A varchar(5),@C3 varchar(21),@V INT
SET @A=''
SET @C3=''
SET @V=0
UPDATE #T SET C=@V,@V=CASE WHEN @A=A AND @C3=C3 THEN @V ELSE @V+1 END,@A=A , @C3=C3SELECT A,MIN(C2)C2,MAX(C2)C2,C3 FROM #T GROUP BY A,C3,C--DROP TABLE #t
----------------结果----------------------------
/*
A C2 C2 C3
----- ------------------------------------------------------ ------------------------------------------------------ ---------------------
演示3 2010-03-09 18:58:19.380 2010-03-09 18:58:41.053 湖北省,武汉市,市辖区;
演示3 2010-03-09 19:22:45.200 2010-03-10 11:21:45.717 湖北省,武汉市,市辖区;
演示3 2010-03-09 18:58:46.693 2010-03-09 18:58:57.663 湖北省,武汉市,新洲区;(所影响的行数为 3 行)
*/