排序
sqlserver巧用row_number和partition by分組取top數(shù)據(jù)
SQL Server 2005后之后,引入了row_number()函數(shù),row_number()函數(shù)的分組排序功能使這種操作變得非常簡(jiǎn)單 分組取TOP數(shù)據(jù)是T-SQL中的常用查詢, 如學(xué)生信息管理系統(tǒng)中取出每個(gè)學(xué)科前3名的學(xué)生。...
sqlserver中查詢橫表變豎表的sql語(yǔ)句簡(jiǎn)析
SQL 查詢橫表變豎表是我工作遇到過(guò)得情況,總結(jié)下來(lái)。如果有遇到這種情況的話可以參考下 首先是三張表, CNo對(duì)應(yīng)的是課程,在這里我就粘貼了。 主表 人名表 按照常規(guī)查詢 SELECT s.SName, c.CNa...
MySQL動(dòng)態(tài)創(chuàng)建表,數(shù)據(jù)分表的存儲(chǔ)過(guò)程
MySQL動(dòng)態(tài)創(chuàng)建表,數(shù)據(jù)分表的存儲(chǔ)過(guò)程,需要的朋友可以參考下。 代碼如下: BEGIN DECLARE `@i` int(11); DECLARE `@siteCount` int(11); DECLARE `@sqlstr` VARCHAR(2560); DECLARE `@sqlinsert...
一個(gè)字段同時(shí)滿足多個(gè)條件的查詢
當(dāng)一個(gè)字段需要同時(shí)等于多個(gè)值的時(shí)候,用and直接連不會(huì)有數(shù)據(jù)查出。 所以需要一些特殊處理。 代碼如下: SELECT * FROM news_extinfo where (ExtID = 1 and OptionValue = 0) or (ExtID = 2 and ...
sqlserver 通用存儲(chǔ)過(guò)程分頁(yè)代碼(附使用ROW_NUMBER()和不使用ROW
通用存儲(chǔ)過(guò)程分頁(yè)(使用ROW_NUMBER()和不使用ROW_NUMBER()兩種情況)性能分析 表結(jié)構(gòu): 代碼如下: CREATE TABLE [dbo].[Xtest]( [ID] [bigint] IDENTITY(1,1) NOT NULL, [XName] [nvarchar](50) N...
三種SQL分頁(yè)查詢的存儲(chǔ)過(guò)程代碼
三種SQL分頁(yè)查詢的存儲(chǔ)過(guò)程代碼,需要的朋友可以參考下。 代碼如下: --根據(jù)MAX(MIN)ID CREATE PROC [dbo].[proc_select_id] @pageindex int=1,--當(dāng)前頁(yè)數(shù) @pagesize int=10,--每頁(yè)大小 @tablena...
SQL2005 ROW_NUMER實(shí)現(xiàn)分頁(yè)的兩種常用方式
SQL2005利用ROW_NUMER實(shí)現(xiàn)分頁(yè)的兩種常用方式 代碼如下:declare @PageNumber int declare @PageSize int set @PageNumber=2 set @PageSize=20 --利用between select * from ( select row_number...
mysql 查詢第幾行到第幾行記錄的語(yǔ)句
mysql 查詢第幾行到第幾行記錄 查詢最后一行和第一行記錄 查詢前幾行和后幾行記錄 1、查詢第一行記錄: select * from table limit 1 2、查詢第n行到第m行記錄 select * from table1 limit n-1,...
SQL的小常識(shí), 備忘之用, 慢慢補(bǔ)充.
SQL的小常識(shí), 備忘之用, 慢慢補(bǔ)充. 1. @@rowcount: 獲取受影響行數(shù) 代碼如下: update SNS_TopicData set TopicCount=TopicCount+1 where Topic ='1' if @@rowcount>0 begin print '成功' end...
mssql存儲(chǔ)過(guò)程表名和字段名為變量的實(shí)現(xiàn)方法
mssql存儲(chǔ)過(guò)程表名和字段名為變量的實(shí)現(xiàn)方法,需要的朋友可以參考下。 沒(méi)有使用動(dòng)態(tài)語(yǔ)句直接報(bào)錯(cuò) 錯(cuò)誤的 代碼如下: alter proc testpapers as begin declare @tems nvarchar(max),@zidaun nvarc...