--建立臨時表,隨機抽取2個發布產品的公司
select distinct top 2 companyuid,newid() productuid,'12345678901234567890' xhbrand,
80 xhprice,getdate() crtime into tb1
from [fariceo].[dbo].[ec_supplyinfo]
group by companyuid order by newid() --tb1事先不存在
--建立游標中需用的變數
declare
@companyuid uniqueidentifier,
@productuid uniqueidentifier,
@tempuid uniqueidentifier,
@xhbrand nvarchar(20)
--建立游標,遍歷抽取的公司
declare byd cursor for select companyuid from tb1
open byd
fetch next from byd into @companyuid
while @@fetch_status=0
begin
--根據公司名在該公司所發布的產品中隨機找乙個產品
select distinct top 1 @productuid=productuid,@xhbrand=brand,@tempuid=newid() from [fariceo].[dbo].[ec_supplyinfo]
where companyuid=@companyuid order by newid()
--將該產品寫入臨時表中
update tb1 set productuid=@productuid,xhbrand=@xhbrand where companyuid=@companyuid
--繼續遍歷
fetch next from byd into @companyuid
end
--關閉游標
close byd
--刪除游標
deallocate byd
--將臨時表中的資料插入ec_byd_maininfo表中
insert [fariceo].[dbo].[ec_byd_maininfo] select newid(),* from tb1
--檢視生成的資料
select tb1.*,com.companyname,pro.productname from tb1,
[fariceo].[dbo].[ec_company] com,
[fariceo].[dbo].[ec_product] pro
where tb1.companyuid = com.uid
and tb1.productuid = pro.uid
--刪除臨時表
drop table tb1
mysql中獲取表中隨機數實現隨機抽取
mysql中獲取表中隨機數實現隨機抽取近由於需要大概研究了一下mysql的隨機抽取實現方法。舉個例子,要從tablename表中隨機提取一條記錄,大家一般的寫法就是 select from tablename order by rand limit 1。但是,後來我查了一下mysql的官方手冊,裡面...
mysql中獲取表中隨機數實現隨機抽取
mysql中獲取表中隨機數實現隨機抽取 近由於需要大概研究了一下mysql的隨機抽取實現方法。舉個例子,要從tablename表中隨機提取一條記錄,大家一般的寫法就是 select from tablename order by rand limit 1。但是,後來我查了一下mysql的官方手冊,裡...
SQL中隨機數函式簡介
在sql server中,有個隨機函式rand 有不少新手可能不知道存在這個函式,現在簡單的介紹下 隨機函式 rand 在查詢分析器中執行 select rand 可以看到結果會是類似於這樣的隨機小數 0.36361513486289558,像這樣的小數在實際應用中用得不多,一般要取隨機數都會取隨機...