SQL 排序的解決方案

2021-04-07 13:06:36 字數 1455 閱讀 5192

現有規則:a,b,c,d

現有順序:

a1 b1 空 空

a1 b1 空 d1

a1 b1 c1 空

期望順序:

a1 b1 空 空

a1 b1 c1 空

a1 b1 空 d1

解答:/*

名稱:解決排序問題

*/declare @t table

(a char(10),

b char(10),

c char(10),

d char(10)

)insert into @t

select 'a1','b1','','' union all

select 'a1','b1','','d1' union all

select 'a1','b1','c1','' union all

select 'a1','b1','',''

select a,b,c,d from @t where c=''and d=''

union all

select a,b,c,d from @t where c<>''

union all

select a,b,c,d from @t where d<>''

/*

測試資料 */

drop table times

create table times(id int,times datetime)

--插入資料

insert into times

select 1,'2006-08-20 18:00:01'

union all        

select 2,'2006-08-20 18:00:01'

union all        

select 2,'2006-08-20 18:01:01'

union all        

select 3,'2006-08-20 18:00:01'

union all        

select 3,'2006-08-20 18:01:01'

union all        

select 4,'2006-08-20 18:00:01'

union all        

select 4,'2006-08-20 18:01:01'

union all        

select 1,'2006-08-20 13:00:01'

--解答

select * from times

select distinct * from (select id ,times=(select min(times) from times where times<=a.times and datediff(minute,times,a.times)<=1)

from times a) b

SQL隱碼攻擊解決方案

sql作為字串通過api傳入給資料庫,資料庫將查詢的結果返回,資料庫自身是無法分辨傳入的sql是合法的還是不合法的,它完全信任傳入的資料,如果傳入的sql語句被惡意使用者控制或者篡改,將導致資料庫以當前呼叫者的身份執行預期之外的命令並且返回結果,導致安全問題。根據相關技術原理,sql注入可以分為平臺...

SQL優化的解決方案

該type列 explain輸出介紹如何連線表。在json格式的輸出中,這些作為access type屬性的值找到。以下列表描述了連線型別,從最佳型別到最差型別 system const eq ref ref range index all 以下是一個示例,我們要儘量避免出現下例情況 1.sql優化...

SQL 常用sql分頁解決方案

分頁方案一 利用not in和select top分頁 語句形式 select top10 from testtable where id notin select top20 idfrom testtable order byid order byid select top頁大小 from tes...

SQL排他鎖的解決方案

問題描述 我有一個資料庫叫做inoutsell 已經備份到d mydatabase.bak 現在的情況是我要用sql語句進行還原 語句如下 use inoutsell restore database inoutsell from disk d mydatabase.bak with replace...

Sql 資料分頁解決方案

很多開始學習程式設計的朋友們在使用資料庫自定義分頁的時候,會遇到寫不好資料分頁儲存過程的問題。這裡我就自己的一點經驗和學習心得提供幾種資料庫內分頁的儲存過程和大家分享一下。1 使用 top1.1 利用當前記錄號 currentnote 和分頁頁面大小 pagesize 進行分頁 create pro...