Popular Posts
Build an OpenVPN server on android device Preparation An android device, in this case, Sony xperia Z is used Root permission required Linux Deploy for deploy i... Enable SSL connection for Jsoup import org.jsoup.Connection; import org.jsoup.Jsoup; import javax.net.ssl.*; import java.io.IOException; import java.security.KeyManagement... Change the AppDomain's Base Directory and Environment Directory // Update AppDomain's Base Directory string root_path = "c:\\temp\\"; AppDomain.CurrentDomain.SetData("APPBASE", roo...
Stats
Paging on SQL Server 2012
SQL Server 2008-   Paging by row_number() function:
declare @JobID varchar(max);
declare @JobName nvarchar(max);
declare @CompanyName nvarchar(max);
declare @DataSource nvarchar(max);
declare @JobCategory nvarchar(max);
declare @Area nvarchar(max);
declare @PageIndex int;
declare @PageSize int;

set @PageIndex=1;
set @PageSize=20;

select
    d.*
from
(
    select
        ROW_NUMBER() over(order by JobName asc) RowIndex,  -- sortField, sortOrder
        v.*
    from JobDataView v
    inner join
    (
        select distinct JobID
        from JobDataSheet
        where
            (@JobID is null or JobID=@JobID)
        and (@JobName is null or JobName like '%'+@JobName+'%')
        and (@CompanyName is null or CompanyName like '%'+@CompanyName+'%')
        and (@DataSource is null or DataSource=@DataSource)
        and (@JobCategory is null or CategoryName=@JobCategory)
        and (@Area is null or (InfoName='Area' and InfoValue like '%'+@Area+'%'))
    ) s on s.JobID=v.JobID
) d
where d.RowIndex > (@PageIndex-1)*@PageSize and d.RowIndex <= @PageIndex*@PageSize;
SQL Server 2012   Paging by offset|fetch:
declare @JobID varchar(max);
declare @JobName nvarchar(max);
declare @CompanyName nvarchar(max);
declare @DataSource nvarchar(max);
declare @JobCategory nvarchar(max);
declare @Area nvarchar(max);
declare @PageIndex int;
declare @PageSize int;

set @PageIndex=1;
set @PageSize=20;

select
    v.*
from JobDataView v
inner join
(
    select distinct JobID
    from JobDataSheet
    where
        (@JobID is null or JobID=@JobID)
    and (@JobName is null or JobName like '%'+@JobName+'%')
    and (@CompanyName is null or CompanyName like '%'+@CompanyName+'%')
    and (@DataSource is null or DataSource=@DataSource)
    and (@JobCategory is null or CategoryName=@JobCategory)
    and (@Area is null or (InfoName='Area' and InfoValue like '%'+@Area+'%'))
) s on s.JobID=v.JobID
order by v.JobName asc
offset (@PageIndex-1)*@PageSize rows
fetch next @PageSize rows only
reference : http://msdn.microsoft.com/en-us/library/ms188385%28v=SQL.110%29.aspx