1.首先,我们来介绍第一种方式:

◆查询的SQL语句如下:

select row_number() over (order by name) as rowid, sysobjects.[name] from sysobjects

◆运行的结果:

rowid   name
1           all_columns
2           all_objects
3           all_parameters
4           all_sql_modules
5           all_views

2.最后,我们来介绍第二种方式:

在我们利用这种方式生成自动序号时,Test_Table必须在数据库中不能存在,因为在执行这些SQL语句的时后自动会创建表。

select id=IDENTITY(int,1,1), sysobjects.[name] as name into dbo.Test_Table from sysobjects

详细讲解有关获取当月天数的实用技巧

 
 

获取当月天数的实用技巧:

以下是引用片段:

select day(dateadd(mm,1,getdate())-day(getdate())) 
--获得当月天数

分析如下:

select getdate()  --当前日期
 
select day(getdate()) --目前第几天
 
select getdate()-day(getdate())   --上个月最后一天
 
select dateadd(mm,1,getdate())-day(getdate())  --加上一个月
 
select day(dateadd(mm,1,getdate())-day(getdate())) --获得当月天数

  

以下是引用片段:

<script language="VBScript">
Dim dt1, dt2
dt1 = Date
dt1 = CDate(Year(dt1) & "-" & Month(dt1) & "-1") ' 得到本月第一天
dt2 = DateAdd("m", 1, dt1) ' 得到上个月第一天
MsgBox DateDiff("d", dt1, dt2) ' 得到两个月的差
</script>

以下是引用片段:

<script language="jscript">
var dt = new Date(); //得到当前时间
dt = new Date(dt.getFullYear(), dt.getMonth() + 1, 0); //得到本月最后一天
alert(dt.getDate()); // 本月最后一天即为本月的天数
</script>

取一表前N条记录 各个数据库的不同SQL写法

从别处看到的,本人在用的是DB2,竟然都不一样……看来是不能说“会SQL,所有的数据库用起来都一样”了。 
 
1. ORACLE  
SELECT * FROM TABLE1 WHERE ROWNUM<=N  
2. INFORMIX  
SELECT FIRST N * FROM TABLE1  
3. DB2


5  
SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM<=N  
DB2  
SELECT COLUMN FROM TABLE FETCH FIRST N ROWS ONLY  
4. SQL SERVER  
SELECT TOP N * FROM TABLE1  
5. SYBASE  
SELECT TOP N * FROM TABLE1  
6. mysql:  
select * from table_name limit N

为什么SQL不许在视图定义ORDER BY子句

发布时间:2007.08.03 05:01     来源:赛迪网    作者:luoyingshu

问:为什么SQL Server不允许在视图定义使用ORDER BY子句?

答: SQL Server之所以不允许在视图定义中使用ORDER BY子句是为了遵守ANSI SQL-92标准。因为对该标准的原理分析需要对结构化查询语言(SQL)的底层结构和它所基于的数学理论进行讨论,我们不能在这里对它进行充分的解释。但是,如果你需要在视图中指定ORDER BY子句,可以考虑使用以下方法:

USE pubs
GO 
 
CREATE VIEW AuthorsByName
AS
SELECT TOP 100 PERCENT *
FROM authors 
ORDER BY au_lname, au_fname
GO

Microsoft在SQL Server 7.0中引入的TOP结构在同ORDER BY子句结合使用时是非常有用的。只有在同TOP关键词结合使用时,SQL Server才支持在视图中使用ORDER BY子句。

注意:TOP关键词是SQL Server对ANSI SQL-92标准的扩展。

一条SQL语句变得巨慢的原因及其解决方法

发布时间:2008.01.30 04:58     来源:赛迪网    作者:赵震

现象:一条SQL突然运行的特别慢。

select uidTable.column_value, first_name||' '
||last_name, company, job_title, upper(member_level), 
upper(service_value)
from (select * from table(select cast(multiset
(select b from bbb)as Taaa) from dual)) uidTable,member
where uidTable.column_value = member.login_id(+) 
and member.site='alibaba' and member.site='test';

出错原因:用户增加了一个条件member.site=test,造成连接的顺序变化了,原来的驱动表是uidTable(最多1024条记录),现在变成了member表做驱动(600W条)。所以这条语句变的巨慢。

但是既然是外连接,为什么连接的顺序会改变呢?因为外连接的连接顺序不是由COST决定的,而是由连接的条件决定的。发现执行计划如下:

-------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
--------------------------------------------------------
| 0 | SELECT STATEMENT | | 1018 | 72278 | 8155 |
| 1 | NESTED LOOPS | | 1018 | 72278 | 8155 |
| 2 | VIEW | | 4072 | 69224 | 11 |
| 3 | COLLECTION ITERATOR SUBQUERY FETCH| | | | |
| 4 | TABLE ACCESS FULL | DUAL | 4072 | | 11 |
| 5 | TABLE ACCESS FULL | BBB | 41 | 287 | 2 |
| 6 | TABLE ACCESS BY INDEX ROWID | MEMBER | 1 | 54 | 2 |
|* 7 | INDEX UNIQUE SCAN | MEMBER_SITE_LID_PK | 4 | | 1 |
-------------------------------------------------

为什么根本就没有执行外连接呢?问题出在member.site='test'这个条件上,因为对外连接的表加了条件,造成外连接失效。改为member.site(+)='test'后,问题彻底解决。

---------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
-----------------------------------------------------
| 0 | SELECT STATEMENT | | 1018 | 72278 | 8155 |
| 1 | NESTED LOOPS | | 1018 | 72278 | 8155 |
| 2 | VIEW | | 4072 | 69224 | 11 |
| 3 | COLLECTION ITERATOR SUBQUERY FETCH| | | | |
| 4 | TABLE ACCESS FULL | DUAL | 4072 | | 11 |
| 5 | TABLE ACCESS FULL | BBB | 41 | 287 | 2 |
| 6 | TABLE ACCESS BY INDEX ROWID | MEMBER | 1 | 54 | 2 |
|* 7 | INDEX UNIQUE SCAN | MEMBER_SITE_LID_PK | 4 | | 1 |
-----------------------------------------------------------

利用"SQL"语句自动生成序号的两种方式的更多相关文章

  1. 利用"SQL"语句自动生成序号的两种方式

    1.首先,我们来介绍第一种方式: ◆查询的SQL语句如下: select row_number() over (order by name) as rowid, sysobjects.[id] fro ...

  2. SQL Server 2008 数据库同步的两种方式 (发布、订阅)

    参考转载: SQL Server 2008 数据库同步的两种方式 (发布.订阅) 使用Sqlserver事务发布实现数据同步

  3. python利用mongodb上传图片数据 : GridFS 与 bson两种方式

    利用mongodb保存图片通常有两种方法,一种是将图片数据转化为二进制作为字典的键值对进行保存,另一种是利用mongodb提供的GridFS进行保存,两者各有利弊.性能方面的优劣未曾测试,无法进行评价 ...

  4. 【转】SQL Server 2008 数据库同步的两种方式 (发布、订阅)

    上篇中说了通过SQL JOB的方式对数据库的同步,这一节作为上一节的延续介绍通过发布订阅的方式实现数据库之间的同步操作.发布订阅份为两个步骤:1.发布.2.订阅.首先在数据源数据库服务器上对需要同步的 ...

  5. Spring容器自动调用方法的两种方式

    先看一个Spring中Bean的实例化过程: 1.配置文件中指定Bean的init-method参数 <bean class="com.jts.service.UserService& ...

  6. 利用SQL语句产生分组序号

    partition  by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partition  by用于给结果集分组,如果没 ...

  7. sql 根据查询的记录生成序号的几种方式

    row_number()  order() 函数会为查询出来的每一行记录生成一个序号,依次排序且不会重复,注意使用row_number函数时必须要用over子句选择对某一列进行排序才能生成序号. ra ...

  8. Sql语句模糊查询字符串的两种写法

    Sql语句模糊查询有两种写法,一种是在jdbcTemplate的查询方法参数里拼接字符串%,一种是在Sql语句里拼接%字符串. public class IsNameDaoImpl implement ...

  9. 【转】【WCF】WCF中客户端生成代理的两种方式

    WCF程序中客户端要生成代理才能调用服务,在客户端生成代理有多种方式,如用ChannelFactory和添加服务引用等.下面就分别来介绍下这两种生成代理的方式. 使用ChannelFactory 使用 ...

随机推荐

  1. [iOS]iOS获取设备信息经常用法

    郝萌主倾心贡献.尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠.支持郝萌主.捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 游戏官方下 ...

  2. cocos2d-iphone 动作

    (1)CCMoveTo [CCMoveTo alloc]initWithDuration:<#(ccTime)#> position:<#(CGPoint)#> 參数说明 : ...

  3. 是时候学一波STL了。。。

    都到如今了还不会STL,赶紧学习一下. .. 头文件#include<algorithm> 加上 using namespace std. 求下一个排列的函数:next_permutati ...

  4. angularjs 遍历

    <!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...

  5. String methods

    A method is similar to a function – it takes arguments and returns a value – but the syntax is diffe ...

  6. CUDA笔记(11)

    CUDA提供了一种cudaEvent_t的类型,这种类型Event可以统计GPU上面某一个任务或者代码段的精确运行时间 使用常量内存的光线跟踪器的性能比使用全局内存的性能提升了50% __consta ...

  7. 前端图像 裁剪利器 JQuerJjcrop+裁剪图像保存教程

    由于一个项目中需要用到用户头像上传裁剪组件,这两天便网上找了一些相关插件,主要由以下几种插件: 1.Image Cropper:http://elemefe.github.io/image-cropp ...

  8. coedforces #481Div(3)(ABCDEFG)

    A. Remove Duplicates Petya has an array aconsisting of nintegers. He wants to remove duplicate (equa ...

  9. 用SAXReader解析xml文档【转】

    来源:http://blog.csdn.net/seayqrain/article/details/5024068 使用SAXReader需要导入dom4j-full.jar包. dom4j是一个Ja ...

  10. CF37E Trial for Chief(最短路)

    题意 题意是给你一张 NMNMNM 的图,每个点有黑色和白色,初始全为白色,每次可以把一个相同颜色的连续区域染色,求最少的染色次数:(n,m<=50) 题解 转化为最短路.对于每一个点与它相邻的 ...