『壹』 現在誰能告訴我資料庫裡面如何實現抽樣啊!!急啊
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) + "*自動編號欄位)"