重复行统计问题????求助!!!

qingniao8 2009-04-23 06:57:14
有如下表:

bill_id time
1 2
1 4
2 1
2 3
2 5
2 10
3 3
3 20
3 50
想实现同一ID的最后一个time值减去第一个值?帮忙写下SQL(SQL SERVER2000),谢谢
...全文
75 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingniao8 2009-04-23
  • 打赏
  • 举报
回复
谢了,结贴~
htl258_Tony 2009-04-23
  • 打赏
  • 举报
回复
有规律的好办。
liangCK 2009-04-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 qingniao8 的回复:]
哇,这么快~~~~~太感谢了,time是有规律的,同一ID都是由小到大~
[/Quote]

直接MAX(time)-MIN(time)
htl258_Tony 2009-04-23
  • 打赏
  • 举报
回复
if object_id('[tb]') is not null drop table [tb] 
go
create table [tb]([bill_id] int,[time] int)
insert [tb] select 1,2
union all select 1,4
union all select 2,1
union all select 2,3
union all select 2,5
union all select 2,10
union all select 3,3
union all select 3,20
union all select 3,50
go
select bill_id,max([time])-min([time]) [time]
from tb
group by bill_id
/*
bill_id time
----------- -----------
1 2
2 9
3 47

(3 行受影响)
*/
qingniao8 2009-04-23
  • 打赏
  • 举报
回复
哇,这么快~~~~~太感谢了,time是有规律的,同一ID都是由小到大~
liangCK 2009-04-23
  • 打赏
  • 举报
回复
---------------------------------
-- Author: liangCK 小梁
---------------------------------

--> 生成测试数据: @T
DECLARE @T TABLE (bill_id INT,time INT)
INSERT INTO @T
SELECT 1,2 UNION ALL
SELECT 1,4 UNION ALL
SELECT 2,1 UNION ALL
SELECT 2,3 UNION ALL
SELECT 2,5 UNION ALL
SELECT 2,10 UNION ALL
SELECT 3,3 UNION ALL
SELECT 3,20 UNION ALL
SELECT 3,50

--SQL查询如下:

SELECT ID=IDENTITY(INT,1,1),* INTO #T FROM @T;

SELECT
A.bill_id,
C.time-B.time AS time
FROM (
SELECT bill_id,MIN(ID) AS min_id,MAX(ID) AS max_id
FROM #T
GROUP BY bill_id
) AS A
JOIN #T AS B
ON A.bill_id=B.bill_id
AND A.min_id=B.ID
JOIN #T AS C
ON A.bill_id=C.bill_id
AND A.max_id=C.ID

DROP TABLE #T;

/*
bill_id time
----------- -----------
1 2
2 9
3 47

(3 行受影响)
*/
qingniao8 2009-04-23
  • 打赏
  • 举报
回复
结果:
bill_id t

1 2
2 9
3 47
liangCK 2009-04-23
  • 打赏
  • 举报
回复
SELECT ID=IDENTITY(INT,1,1),* INTO #T FROM tb;

SELECT
A.bill_id,
C.time-B.time AS time
FROM (
SELECT bill_id,MIN(ID) AS min_id,MAX(ID) AS max_id
FROM #T
GROUP BY bill_id
) AS A
JOIN #T AS B
ON A.bill_id=B.bill_id
AND A.min_id=B.ID
JOIN #T AS C
ON A.bill_id=C.bill_id
AND A.max_id=C.ID
幸运的意外 2009-04-23
  • 打赏
  • 举报
回复
是不是time有一定规律,比如同一个ID下是从小到大排列的?如果是可以这样来:
select bill_id, (max(time) - min(time)) as time
from 表
group by bill_id
VisualNet9.0的中文说明书 VisualNet TM研发背景 不管您是否了解或熟悉VisualNet,我们在对含有各种设备、线路资源的项目进设计、施工、维护或管理时,都会遇到一个共同特点,即它们存在着大量的设备节点和节点间复杂的连接关系,既难于理解又不便管理。它们带来一系列难以了解清楚的问题是:它是什么?它在哪里?怎么配置?怎样连接?与谁连接?从上层设备到终端要经过哪些路由?l领用的设备用在了哪里?有哪些什么还是空闲的?设备何时投入运的?哪些设备需要更新维护?员工走了,如何让资料能完整保存下来?新接手的员工如何能快速掌握系统?如何从众多的资料中找到所需要的信息?..... 每天 我们都在和这些成百上千的设备、数据信息打交道,我们很难对这些复杂系统中所有设备位置、参数、使用状态、资产信息等等做到了如指掌。然而,目前却很难找到一条有效的途径来管理这些日益复杂和离散的系统。缺少对这些基础设施的配置和资源使用状况的了解,导致日益严重的设备故障、低效的技术支持、资产的不明流失、投资的重复浪费、资料的严重缺失以及各项管理成本、维护成本和人力成本的增加。 大量的设备线路资源 在什么地方?有多少?谁在管?...... 大量的数据信息与文档资料 有哪些技术参数?怎么配置的?有哪些方案? 复杂的层次结构与关联关系 设备之间怎么连接的?相互有什么关联关系?... 常规实施方式遇到什么问题? 于是我们可能会想到要用各种各样的画图工具去制图,如CAD、Visio等,或者我们用一些信息系统来管理我们的各种图纸资料、设备资源、管网资源、技术文档等等。但大家都有体会的是,纯粹的画图软件,我们很难把众多的设备信息、连接关系信息表达清楚,不同的设计图纸之间也没有直观的连接关系能够表达出来,更不能对设计图中用到的设备材料进快速定位、准确统计 。可是表格式的MIS系统又很难清楚表达复杂的系统结构和连接关系的。 就是一些花巨资用GIS系统去管理的单位,也已经充分意识到,光是管理设备资源的地理信息数据也是远远不够的,还有众多的信息如技术文档、设备的细节等都无法通过一个设计页面表达出来。因此,无论您目前使用哪一种方式去设计或管理系统,都会觉得存在明显的缺陷。其实原因很简:因为即使是一个很简单的图纸,里面的每一个对象都有其自身的数据属性、技术参数和具体的业务特征,同时它又和系统中的其它对象发生关联。而常见的静态图表软件已经不可能把这些关系、属性和业务特征一一反映出来,更不能做到图形与实物一一对应。 而如果我们采用常规方式购买现成软件或找人开发定制,只能满足当前的需求。 而用户在实际管理应用过程中,很多事情是变化的。譬如:系统结构、管理对象、数据属性、应用场合、操作人员等。在此过程中我们可以发现:无论是用户首次提出功能要求,还是系统定制或者以后提出更新需求,都必须借助于软件商去做这个事情,用户始终处于被动状态中,没有自己去解决这些问题的手段 。这种借助于第三方来满足经常变化着的需求方式,给我们最终用户带来了大量的不可控的、不可预知的变数,让用户始终处于一种被动状态中 。譬如:费用不可控、更新周期不可控、人员掌握的熟练程度不可控、软件本身的生命周期不可控、数据迁移过程不可控等等。 图纸设计软件无法表达大量数据信息 除了图外,怎样还能把大量内置信息表达出来? 数据管理系统无法直观表达复杂关系 这些数据代表是什么?在什么地方? 常规开发更新方式用户受限于开发商 每次更新修改,都得求助于他们,费时费钱费力 VisualNet 是怎么做的? 1、VisualNet提供了图形化的资源设计与管理平台给您。图形容易理解,数据集成能把图形对象与数据关联。 2、VisualNet提供了大量的图库模板,并且这些模板用户是可自定义的。用户只需拖拉设计,就能搭建一套资源管理平台,技术门槛低,并且用户是可以自主完成设计,无需求助于开发商就能完成从初次搭建到后期更改维护的整个过程。 3、VisualNet还提供了大量可自定义的、可灵活组合的查询、统计、定位、路由分析、动态监控等应用工具。 提供图形化设计管理平台 能帮您快速创建“虚拟现实”的管理环境。 提供大量的、可自定义的图库模板 设计、修改、更新、维护,用户都可自己完成。 提供查询分析、统计定位、动态监控工具 查询统计、路由分析、动态监控,都可自己实现!

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧