用CASE WHEN实现sqlserver数据库的分类汇总功能
/*用CASE WHEN实现sqlserver数据库的分类汇总功能*/
/*例1:统计个数*/
/*表结构
id cityid major
1 1 A
2 1 B
3 2 B
4 2 A
5 1 A
6 2 B
7 1 C
8 2 C
结果:
cityId A B C
1 2 1 1
2 1 2 1
*/
SELECT cityId,SUM(CASE WHEN major='A' THEN 1 ELSE 0 END) AS 'A',
SUM(CASE WHEN major='B' THEN 1 ELSE 0 END) AS 'B',
SUM(CASE WHEN major='C' THEN 1 ELSE 0 END) AS 'C'
from TestCase1 GROUP BY cityId
/*例1:统计总和数*/
/*表结构
Id cityId catalogId Num
1 1 A 3
2 1 B 5
3 2 A 8
4 2 B 2
5 1 &
相关文档:
MySQL:
SELECT column from table
ORDER BY RAND()
LIMIT 1
PostgreSQL:
SELECT column from table
ORDER BY RANDOM()
LIMIT 1
Microsoft SQL Server:
SELECT TOP 1 column from table
ORDER BY NEWID()
IBM DB2
SELECT column, RAND() as IDX
from table
ORDER BY IDX FETCH FIRST 1 ROWS ONLY
Thanks Ti ......
SQL Server 2008 Administration Instant Reference
SQL Server 2005 数据库基础与应用技术
Microsoft SQLServer 2005 Integration Services Step by Step
SQLServer 2005 Bible
SQL Server 2005 数据库服务架构设 ......
在Google上使用“sql 分页”关键字进行搜索,几乎所有的答案都是那三条。其二效率最高,其三使用游标,效率最差。
下面是那三种方法 (插入代码没有sql选项)
方法1:
适用于 SQL Server 2000/2005
SELECT TOP 页大小 *
from table1
WHERE ......
SQLServer 中含自增主键的表,通常不能直接指定ID值插入,可以采用以下方法插入。
1. SQLServer 自增主键创建语法:
identity(seed, increment)
其中
seed 起始值
increment 增量
示例:
create table student(
id int identity(1,1),
name varcha ......
原文转自:http://dev.csdn.net/develop/article/71/71778.shtm
大多数SQL Server表需要索引来提高数据的访问速度,如果没有索引,SQL Server要进行表格扫描读取表中的每一个记录才能找到索要的数据。索引可以分为簇索引和非簇索引,簇索引通过重排表中的数据来提高数据的访问速度,而非簇索引则通过维护表中的数 ......