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

sql結果相除

發布時間: 2023-05-19 18:07:05

1. sql語句的寫法——把兩個數相除(Oracle)

select (select count(*) as a from...)/(select count(*) as b from...
) from al

2. SQLServer中SQL語句如何對兩個group By後的查詢結果進行相除

你錯誤的問題點在於兩個子查詢之間沒有任何關聯,不能直接除。首先我們要建立關聯關系。再除
select a.值1,(case when isnull(b.值2,0)=0 then 0 else a.值1/b.值2) ---記得除數為0處理
from (select 值2,SUM(值1) AS 值1 from 表1 group by 值2) a
innor join (看情況使用innor join 還是 full 還是Left)
(select 值2,sum(值1) AS 值1 from 表2 group by 值2) b on A.值2=b.值2

3. SQL如何做除法

這樣:

select

t.[origin-destination],t.[SH/LANE/MOT] /(select count(1) from ['TMS$'] )ASPERCENTAGE
FROM (代碼1) t

group by [origin-destination],t.[SH/LANE/MOT]

having t.[SH/LANE/MOT] /count(*) <= 0.01

註:兩個count都是int,相除會沒有小數部分,所以應該都給轉成帶小數的數。

cast as numeric(10,4) 。

(3)sql結果相除擴展閱讀:

SQL中除法運算的實現

R(X,Y)÷S(Y,Z)的運算用結構化語言SQL 語句可表達為下列形式:

select distinct R.X from R R1

where not exists

(

select S.Y from S

where not exists

(

select * from R R2

where R2.X=R1.X and R2.Y=S.Y

)

)

4. sql統計兩個表數據然後相除,怎麼寫

要相除的是什麼?某個欄位的統計還是數據量統計還是其他的?

selectt1.a/t2.bfrom(
(selectcount(1)afromtable1)t1,
(selectcount(1)bfromtable2)t2
);

5. 兩個sql語句查詢出來的值怎麼相除

同意一樓的,但是如果是來自同一張表的話還可以優化下,語句如下
Select sum(a) / sum(b)
From XX

希望能幫到你

6. sql語句中兩個數相除

整數除以整數=整數改為:select 1.0 * (select count(RecordID) from RegisterRecord where datediff(yy,WBirthday,getdate())>26) /(select count(RecordID) from RegisterRecord )*100 As 比例(%)
from RegisterRecord
還有就是資料庫欄位的別名寫法不是那樣寫的

7. sql server 2個查詢結果相除

declare @a float
declare @b float
select @a= count(*) from table1
select @b = count(*) from table2
select @a/@b

樓上的方法,如果只是COUNT條數,沒有小數點啊。。。 要轉格式:
select a.a/b.b from
(select cast(count(*)as float) as a from table1) as a,
(select cast(count(*)as float) as b from table2) as b

8. sql server 簡單的除法運算

用一個SQL求出來就可以了
select sum(case s when b the 1 else 0 end)/sum(case s when b then 0 else 1 end ) as result from t
但要判斷一下除數是否為0的情況,就要寫成這樣:
select case when sum(case s when b then 0 else 1 end )=0 then 0 else sum(case s when b the 1 else 0 end)/sum(case s when b then 0 else 1 end ) end as result from t
如果除數是0,結果返回0

9. SQL 請問能否實現查詢出的兩列數據 分別相除的功能


就拿access做個示範吧

SELECT V2/V1 AS 兩列相除 FROM TB1;

10. sql相除的問題

SELECT field1/field2 FROM TB;
當 field1的數值 > field2的數值時,除法得出的結果是<1的,即0.xxxxxx
這個時候在DB2的環境下SELECT出來的值是0
解決方法:
先把field1轉換成DOUBLE類型的,這樣計算出來的就會得出小數點了,會顯示出0.xxxx
SELECT CAST(field1 AS FLOAT)/field2 FROM TB;
ps.網上搜的資料,寫的是double,但在SQL Server2008中一直報錯,改成FLOAT就沒問題了。
小數點顯示4位小數。可以進一步四捨五入,保留兩位小數點
SELECT ROUND(CAST(field1 AS DOUBLE)/field2, 2) FROM TB;
如果數據列的值為NULL,將其設置為0,那麼sql就要這么寫
SELECT ROUND(COALESCE(CAST(field1 AS DOUBLE), 0)/field2, 2) FROM TB;
COALESCE這個函數系統的用法如下:
a. 輸入參數為字元類型,且允許為空的,可以使用COALESCE(inputParameter,」)把NULL轉換成」;
b. 輸入類型為整型,且允許為空的,可以使用COALESCE(inputParameter,0),把空轉換成0;
c. 輸入參數為字元類型,且是非空非空格的,可以使用COALESCE(inputParameter,」)把NULL轉換成」,然後判斷函數返回值是否為」;
d. 輸入類型為整型,且是非空的,不需要使用COALESCE函數,直接使用IS NULL進行非空判斷。