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

在sql里抽樣方法

發布時間: 2022-02-28 07:11:54

『壹』 現在誰能告訴我資料庫裡面如何實現抽樣啊!!急啊

select top 10 * from employee order by newid()

隨機抽10條.

『貳』 請教大神,查詢sql等間距抽樣如何實現(資料庫oracle)

撰寫存儲過程,定義變數i每次加10,1作為一個特殊的id來進行處理,
如果不寫存儲過程,建議創建一個步長為10的序列,建立一個臨時表a,插入序列值,然後用業務表關聯a表。

『叄』 SQL Server 2008 不放回抽樣演算法及代碼寫法

declare@aint,@bint,@cint,@dint,@eint,@fint,@gint
set@g=1
select@a=right(rand(),5)--模擬隨機五個數字
select@b=@a/10000,--求出萬位的單個數字
@c=(@a-@b*10000)/1000,--求出千位的單個數字
@d=(@a-@b*10000-@c*1000)/100,--求出百位的單個數字
@e=(@a-@b*10000-@c*1000-@d*100)/10,--求出十位的單個數字
@f=@a-@b*10000-@c*1000-@d*100-@e*10--求出個位的單個數字
if(@f-@e=1)--比較每個相鄰的數字是否連續數字,如果是的話累計加1
set@g=@g+1
if(@e-@d=1)--比較每個相鄰的數字是否連續數字,如果是的話累計加1
set@g=@g+1
if(@d-@c=1)--比較每個相鄰的數字是否連續數字,如果是的話累計加1
set@g=@g+1
if(@c-@b=1)--比較每個相鄰的數字是否連續數字,如果是的話累計加1
set@g=@g+1
if(@b-@a=1)--比較每個相鄰的數字是否連續數字,如果是的話累計加1
set@g=@g+1
if(@g=1)--如果計數變數還是初始值1的時候,把變數清0。
set@g=0
printconvert(varchar(10),@a)+'='+convert(varchar(10),@b)+'+'+convert(varchar(10),@c)+'+'+convert(varchar(10),@d)+'+'+convert(varchar(10),@e)+'+'+convert(varchar(10),@f)+'一共有'+convert(varchar(10),@g)+'位連續數字'--顯示結果

--最後不知道你需要插入的目標表是什麼,你只好自己插入了。
--如果幫到你的話,請採納~~謝謝。

『肆』 在SQL中怎麼樣獲取隨機數

1、隨機小數 select rand(),

『伍』 SQL語句如何按照概率隨機抽取數據

--題目沒有表達清楚,我就寫個差不多的sql給你吧。
--通過case語句來判斷返回一個概率
selectid,state
casestatewhen1then0.1when2then0.3else0.05endas概率
from表a

『陸』 sql如何進行分層隨機抽樣

--按大、中、小
分別選取
然後再組合
--按新欄位重新排序後,你選出來的就是隨機的了
select
top
60
percent
*
from
table_1
where
A='大'
order
by
B
union
all
select
top
60
percent
*
from
table_1
where
A='中'
order
by
B
union
all
select
top
60
percent
*
from
table_1
where
A='小'
order
by
B

『柒』 如何在sql中隨機抽樣

如果是隨機從表中選出N條記錄的話:
SELECT TOP(N) *
FROM [表明]
ORDER BY newid()

『捌』 SQL查詢語句 以及篩選方法

你的表的月份不是數字型的,這個比較麻煩,如果是數字的話,一條語句就能實現。
給你個思路,你可以導出臨時表,然後把月份更新成數字,那樣就比較省事了。假設你導出的臨時表中的月份已經更新成1、2、3...12的形式。

select a.月份,a.項目,
(select sum(預算金額) from (select 月份,項目,max(預算金額) as 預算金額 from 臨時表 group by 月份,項目) b where 月份<=a.月份 and 項目=a.項目) as 預算總額,
(select sum(發生費用) from 臨時表 where 月份<=a.月份 and 項目=a.項目) as 發生總額
from 臨時表 a
group by a.月份,a.項目

這是一條語句列出各月、各項目的數據情況,如果需要指定月份和項目,則在where 中限定即可。

『玖』 取樣統計的SQL語句怎麼寫

oracle查詢語句: select 欄位名 from 表名 (where 判斷條件); oracle的統計函數(count) select count(欄位名),欄位1,欄位2 from 表名 (where 判斷條件) group by 欄位1,欄位2;

『拾』 sql 隨機抽取幾條數據的方法 推薦

四種資料庫隨機獲取10條數據的方法
SQL Server:

SELECT TOP 10 * FROM T_USER ORDER BY NEWID()

ORACLE:

SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10

MySQL:

SELECT * FROM T_USER ORDER BY RAND() LIMIT 10

Access:

SELECT TOP 10 * FROM T_USER ORDER BY rnd([一個自動編號欄位])

這條語句在 Access 中的「查詢」中是可以運行並得到隨機結果的,但在 ASP.NET等後台程序代碼中卻無法得到預期的隨機效果。
正確的寫法如下:
以ASP.NET為例:

Random random = new Random(System.Guid.NewGuid().GetHashCode());

int r = random.Next();
string sql = "SELECT TOP 10 * FROM T_USER ORDER BY RND(" + (-r) + "*自動編號欄位)"