解决方案 »
- 拆分字符串
- SQL SERVER不存在或访问被拒绝(SQL 2000)
- 如果一个字段有辽宁,北京,上海字样,如果分别对他们统计
- SQL2000中哪个字段是自动增量类型
- sql语句如何查到 一个字段中 特定字符的出现次数呢?
- 存储过程中,动态SQL问题,急,各位斑主帮忙一下??
- 请问各位大虾“回归测试”的概念是什么?请高人讲解。像“单元测试”,“集成测试”,“验收测试”等等的定义分别是什么,软件工程中那个阶段进行那种测试,?
- SQL Server的行锁定到底有用没?
- dbstart/startup
- 我实在没辙了,求大神帮忙优化查询语句执行的速度
- 为什么在查询分析器找到数据,而在网页程序却查不到数据?高人请指教。在线等。。。。
- 关于新用户的权限问题
--> 数据库版本:
--> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
--> 测试数据:[TB]
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB]')
AND type in (N'U'))
DROP TABLE [TB]
GO---->建表
create table [TB]([id] varchar(2),[date] varchar(4),[num] int)
insert [TB]
select '01','9-1',2 union all
select '01','9-11',3 union all
select '01','9-22',4 union all
select '01','10-1',1 union all
select '01','11-1',3 union all
select '01','11-3',4
GO
SELECT *,SUBSTRING(date,1,CHARINDEX('-',date)-1)
FROM [TB] t
--> 查询结果
SELECT *,月份=(select COUNT(1) from TB where
SUBSTRING(date,1,CHARINDEX('-',date)-1)
=SUBSTRING(t.date,1,CHARINDEX('-',t.date)-1) and num<=t.num
group by SUBSTRING(date,1,CHARINDEX('-',date)-1))
FROM [TB] t
--> 删除表格
--DROP TABLE [TB]
if object_id('tempdb.dbo.#tb') is not null drop table #tb
go
create table #tb (id varchar(2),date varchar(4))
insert into #tb
select '01','9-1' union all
select '01','9-11' union all
select '01','9-22' union all
select '01','10-1' union all
select '01','11-1' union all
select '01','11-3'select *,
id=dense_rank()over( order by cast(left(date,charindex('-',date)-1) as int))
from #tb
id date id
---- ---- --------------------
01 9-1 1
01 9-11 1
01 9-22 1
01 10-1 2
01 11-1 3
01 11-3 3(6 行受影响)
2 2010-09-20
3 2010-09-27
4 2010-10-05
5 2010-10-25
6 2010-11-01
7 2010-11-09
8 2011-01-14
9 2011-11-28
Select str2,id=dense_rank() over (order by datepart(year,str2),datepart(month,str2)) from tb2