SQL经典短小代码收集
--SQL Server:
Select TOP N * from TABLE Order By NewID()
--Access:
Select TOP N * from TABLE Order By Rnd(ID)
Rnd(ID) 其中的ID是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段(UserName)
Select TOP N * from TABLE Order BY Rnd(Len(UserName))
--MySql:
Select * from TABLE Order By Rand() Limit 10
--开头到N条记录
Select Top N * from 表
--N到M条记录(要有主索引ID)
Select Top M-N * from 表Where ID in (Select Top M ID from 表) Order by ID Desc
--选择10从到15的记录
select top 5 * from (select top 15 * from table order by id asc) table_别名order by id desc
--N到结尾记录
Select Top N * from 表Order by ID Desc
--显示最后5条记录,但是显示的顺序必须为5,6,7,8,9,10,而不是10,9,8,7,6,5 如下解决方法:
select top 5 from test where id in(select top 5 from test order by id desc) order by id asc
--通过这个问题也能总结出4-10条,5-100条这种限定一定范围内的sql语句的写法:
select top <末端ID-顶端ID+1> * from <表名> where ID not in(select top <顶端ID-1>) ID from <表名>)
--例如:4-10条就应该写成
select top 10-4+1 * from test where id not in(select top 4-1 id from test)
上一篇: select top 1 * from [news_table] where [新闻标识列]<当前id号 where ......
下一篇: select top 1 * from [news_table] where [新闻标识列]>当前id号 where ...... order by [新闻标识列] desc --两条记录完全相同,如何删除其中一条
set rowcount=1
delete from thetablename where id=@duplicate_id--@duplicate_id为重复值的id
--模糊查询
select * &nbs
相关文档:
/*********************************************************/
目录清单CONTEXT LIST
/*********************************************************/
1.数据库DataBase
1.1数据库建立/删除create/drop database
1.2数据库备份与恢复backup/restore database
/***************************************************** ......
返回
返回包含一个日期的 Variant (Date),这一日期还加上了一段时间间隔。
语法
DateAdd(interval, number, date)
DateAdd 函数语法中有下列命名参数:
interval 必要。字符串表达式,是所要加上去的时间间隔。
number 必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得 ......
exists (sql 返回结果集为真)
not exists (sql 不返回结果集为真)
如下:
表A
ID NAME
1 A1
2 A2
3 A3
表B
ID AID NAME
1 1 B1
2 2 B2
3 2 B3
表A和表B是1对多的关系 A.ID => B.AID
......
需求:有excel文件,含多个sheet,每个sheet的内容对应插入到一张表,sheet的名称就是对应的表名称。
每一行为列名,例如:
达成:将每个sheet输出成一个以sheet名称命名的sql文件,内容为每行内容的insert语句。
以上图为例会生成三个sql文件,分别是TF_R_TERMINAL_ARCH.sql, TF_R_STOCK_TRADE.sql 和 TF_R_STOC ......