偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

sql條件語句使用實例

數(shù)據(jù)庫 SQL Server
下文以實例的形式為您詳細介紹了sql條件語句的使用方法,供您參考,如果您對sql條件語句方面感興趣的話,不妨一看。

sql條件語句是sql語句中非常重要的,在我們平時的數(shù)據(jù)庫使用中經(jīng)常會用得到,在處理一些具體問題時,就可以體現(xiàn)出sql條件語句的優(yōu)勢了。

假定博客園要在首頁為群組開辟一塊空間,推廣小組,小組能在首頁顯示的條件有四個:

1.       頁面點擊量大于10w

2.       小組人數(shù)大于1000

3.       小組帖子數(shù)大于10000

4.       小組在2007年之前創(chuàng)建

現(xiàn)在假定4個條件都滿足的小組只有兩個,太少了,推廣位可以推廣10個小組;這時候運營人員要求這4個條件中滿足3個但是第4個條件不滿足的小組算符合條件的小組,如果4個條件都滿足就認為這個小組太火了,不需要在首頁推廣它了。業(yè)務(wù)邏輯想清楚了,下一步就該寫代碼了,數(shù)據(jù)邏輯層的代碼的任務(wù)假定交給我了,我要考慮滿足4個條件中3個成立的sql怎么寫。

為了敘事方便,我們假如小組表的名字為Group,相關(guān)的條件字段是Pv,UserCount,PostCount,CreateTime:分別表示小組的點擊量,人數(shù),帖子數(shù),創(chuàng)建時間.

寫sql語句,上面的四個條件滿足至少3個,有多少種情況呢?這是一個組合問題,一共有多少種的公式我已經(jīng)忘記了,我要根據(jù)感覺寫寫看:

  1. SELECT * FROM Group  
  2. WHERE  (Pv>100000 AND UserCount>1000 AND PostCount>10000 AND CreateTime > 20070101)   
  3. OR (Pv>100000 AND UserCount>1000 AND PostCount<10000 AND CreateTime < 20070101)  
  4. OR (Pv>100000 AND UserCount<1000 AND PostCount>10000 AND CreateTime < 20070101

這個Sql語句條件還行,但是我們的題目是n個條件m個條件成立,如果多了還這么寫,恐怕就很累了,能不能改進呢?答案是肯定的。

  1. SELECT * FROM Group  
  2. WHERE   
  3. (CASE Pv WHEN Pv>100000 THEN 1 ELSE 0 END) --這是PV的條件成立則為1,否則為0  
  4. +(CASE UserCount WHEN UserCount > 1000 THEN 1 ELSE 0 END) --用戶數(shù)條件  
  5. +(CASE PostCount WHEN PostCount > 10000 THEN 1 ELSE 0 END) --帖子數(shù)條件  
  6. +(CASE CreateTime WHEN CreateTime < 20070101 THEN 1 ELSE 0 END) --時間條件  
  7. = 3 

 如果上面的三個表達式加起來值是3就說明恰好滿足三個條件,如果是兩個條件就是等于2,如果擴展為n個條件m個條件成立也很容易寫,很容易維護、修改。 

這是一個sql條件語句的技巧,希望對你有用。

 

 

【編輯推薦】

SQL Where子句的妙用

解讀SQL嵌套子查詢

SQL強類型查詢的實現(xiàn)

SQL查詢效率的討論

SQL動態(tài)查詢的示例

責任編輯:段燃 來源: 博客園
相關(guān)推薦

2010-09-17 14:48:28

SQL條件語句

2010-09-07 14:56:49

SQL語句CASE WHEN

2010-09-03 14:56:12

SQLSELECT語句

2010-09-13 17:11:42

sql server

2010-10-21 14:27:35

SQL Server時

2010-09-09 16:34:19

SQL循環(huán)while

2021-06-09 10:45:12

JavaScript開發(fā) 編程

2010-11-11 11:37:22

SQL SELECT語

2010-09-25 16:42:45

sql語句

2010-09-10 14:33:32

SQL循環(huán)語句

2010-09-25 11:02:33

SQL主鍵

2010-09-14 10:16:57

sql server

2010-09-17 16:53:14

SQL中CREATE

2010-09-07 10:56:58

SQL語句

2011-08-18 14:25:26

OracleEXPLAIN PLA

2011-04-27 16:34:06

withSQL Server

2010-09-03 13:21:01

SQL刪除

2010-04-29 12:05:21

Oracle使用SQL

2010-09-07 10:42:12

SQL語句

2010-09-07 11:24:25

SQL語句
點贊
收藏

51CTO技術(shù)棧公眾號