當前位置:首頁 » 編程語言 » sql區間
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql區間

發布時間: 2022-02-24 05:25:41

sql日期區間查詢

--你想要的是不是這樣?
--適用於SQL Server

declare @date1 datetime, @date2 datetime
set @date1 = '20140101'
set @date2 = '20140131'

select @date1 date1, @date2 date2,

sum(case when 預付日期 >=@date1 and 預付日期<=@date2 then 預付金額 else 0 end) 預付金額,
sum(case when 實付日期 >=@date1 and 實付日期<=@date2 then 實付金額 else 0 end) 實付金額,
sum(case when 入庫日期 >=@date1 and 入庫日期<=@date2 then 入庫數量 else 0 end) 入庫數量,
sum(case when 發票日期 >=@date1 and 發票日期<=@date2 then 發票金額 else 0 end) 發票金額

from table1

㈡ 怎樣sql統計數據區間分布

select
count(case when time>=1 and time <=2 then muid end),
count(case when time>=2.1 and time <=3 then muid end),
count(case when time>=3.1 and time <=4 then muid end)
from table

㈢ SQL語句怎樣查詢一個范圍

SQL方法完成數值區間查詢
要求:根據獎金等級表的數值區間,返回獎金對應的等級。

1、鏈接外部數據:數據--現有鏈接--瀏覽更多,在路徑中選擇數據Excel文件和目標工作表,建立數據鏈接。

詳細步驟參考前面所發的SQL相關文章。

2、編寫sql語句。
2.1、使用switch函數,SQL語句為:
select 姓名,獎金,switch(獎金<200,"D級",獎金<300,"C級",獎金<500,"B級",獎金>=500,"A級") as 獎金等級 from [獎金$a1:b11]

switch函數直接判斷數值,若數值小於200,返回D級;數值小於300返回C級;數值小於500,返回B級;餘下的數值條件要變化為>=500返回A級而不是<=700。

2.2、使用iif函數,SQL語句為:
select 姓名,獎金,iif(獎金<200,"D級",iif(獎金<300,"C級",iif(獎金<500,"B級","A級"))) as 獎金等級 from [獎金$a1:b11]

其基本思路和switch函數相同,類似工作表函數if的嵌套。

2.3、使用betweent...and,SQ語句為:
select a.姓名,a.獎金,b.等級 from [獎金$a1:b11] a,[獎金等級$] b where a.獎金 between b.最小值 and b.最大值

以戴蘇明同學為例子,在SQL代碼運行的時候,將戴蘇明同學的獎金一一和獎金等級表中的數值進行對比,符合區間的就返回區間等級。其他同學亦然。

但是,當獎金超出最大值700的時候就會取不到該條數據。

如劉平的獎金701並不在betweent...and的區間內,返回的結果中沒有劉平的數據。

2.4、使用Where比較大小,sql語句為:
select a.姓名,a.獎金,b.等級 from [獎金$a1:b11] a,[獎金等級$] b where a.獎金 >=b.最小值 and a.獎金<=b.最大值

此方法原理和betweent...and一樣,當獎金超過最大值700時,數據將有遺漏(劉平)。

當獎金的最大值為700的時候,以上四種方法都得出同樣的結果。

當獎金最大值超過700的時候,3、4兩個方法將遺漏獎金大於700的數據。

因此,可在設計獎金等級表的時候,可以將最大值700改為一個比較大的數值,使獎金再高也不會超過,則四種方位皆可。

如更改獎金等級表的最大值700為70000,這么大的一個范圍,則四種方法都適用。

㈣ SQL語句選取某個區間的記錄怎麼編寫

例如:寫一個SQL語句,取出表S中第21~30記錄(SQL server,以自動增長的ID作為主鍵,ID可能不連續)

方法一:

Select TOp10 * from S

Where ID>(Select MAX(ID) from (Select Top20 ID from S ) as S)

方法二:

select Top10 * from S where ID NOT IN(select Top20 ID from S)

(4)sql區間擴展閱讀

SQL SELECT 語句用於從表中選取數據。

結果被存儲在一個結果表中(稱為結果集)。

SQL SELECT 語法

SELECT 列名稱 FROM 表名稱

以及:

SELECT * FROM 表名稱

注釋:SQL 語句對大小寫不敏感。SELECT 等效於 select。

SQL SELECT 實例:

如需獲取名為 "LastName" 和 "FirstName" 的列的內容(從名為 "Persons" 的資料庫表),請使用類似這樣的 SELECT 語句:

SELECT LastName,FirstName FROM Persons

㈤ SQL 如何查詢一個區間段的所有值

建議先根據查詢條件查出對應的區間,然後對這個區間做處理。
處理可以在SQL裡面,也可以在應用程序裡面。
沒特殊要求的話建議採用後者,直接在程序裡面寫一個循環即可。
如果是要用SQL的話,可以用一個臨時表把需要的先放裡面再取出即可.

㈥ Oracle SQL語句查詢值區間范圍數據

where1=1and
IN_AVG_VALUEBETWEEN'30'AND'50'
or
IN_MAX_VALUEBETWEEN'30'AND'50'
or
IN_MIN_VALUEBETWEEN'30'AND'50'

㈦ SQL中查詢日期區間內的數據

select * from 借閱信息表 where 編號 between #2006-6-9# and #2008-9-9#
或者
select * from 借閱信息表 where 編號 between "2006-6-9" and "2008-9-9"

㈧ sql查詢不同區間的數量

select
count(case when time>=1 and time <=2 then muid end),
count(case when time>=2.1 and time <=3 then muid end),
count(case when time>=3.1 and time <=4 then muid end)
from table

㈨ sql怎麼取區間

如果是oracle的話,可以用for in語句
for v_num in 1..10 loop
--execute some sql
end loop;

㈩ sql按區間分組匯總,SQL高手指教啊!

select a.a1,a.a2,
sum(case when c.b1='01' then c.b4 end) 一月份,
sum(case when c.b1='01' then c.b4 end) 二月份,
sum(case when c.b1='01' then c.b4 end) 三月份,
sum(case when c.b1='01' then c.b4 end) 四月份,
sum(case when c.b1='01' then c.b4 end) 五月份,
sum(case when c.b1='01' then c.b4 end) 六月份,
sum(case when c.b1='01' then c.b4 end) 七月份,
sum(case when c.b1='01' then c.b4 end) 八月份,
sum(case when c.b1='01' then c.b4 end) 九月份,
sum(case when c.b1='01' then c.b4 end) 十月份,
sum(case when c.b1='01' then c.b4 end) 十一月份,
sum(case when c.b1='01' then c.b4 end) 十二月份 from
a,
(select substring(b1,1,6) as b1,b2,b3,sum(b4) as b4 from b group by substring(b1,1,6),b2,b3) as c
where a.a1=b.b2
group by a.a1,a.a2

oracle的話把substring改成substr就行