『壹』 有100家客戶,sql,隨機取10條 ,名稱前幾位不一樣的數據
前幾位是前幾位?
where條件的時候先根據首字或者名稱前幾位做並列排序,然後ID10個隨機ID。IN完後再隨機一次。
『貳』 SQL用隨機函數產生10個100—999之間的整數,分別統計出奇、偶數的個數。
declare @count int=0
declare @numbers varchar(max)=''
while(@count<10)
begin
declare @num int
set @num=CAST(FLOOR(RAND()*1000) as INT)
if(@num between 100 and 999)
begin
set @numbers=@numbers+','+CAST(@num as varchar(10))
end
else
begin
continue
end
set @count=@count+1
end
set @numbers=@numbers+','
print(@numbers)
declare @eachNumber int
declare @loopCount int
declare @evenCount int=0 --偶數
declare @oddCount int=0 --奇數
set @loopCount=LEN(@numbers)-LEN(REPLACE(@numbers,',',''))-1
set @count=0
while(@count<@loopCount)
begin
set @eachNumber=SUBSTRING(@numbers,2,CHARINDEX(',',@numbers,2)-2)
if(@eachNumber%2=0)
begin
set @evenCount=@evenCount+1;
end
else
begin
set @oddCount=@oddCount+1;
end
set @numbers=SUBSTRING(@numbers,CHARINDEX(',',@numbers,2),LEN(@numbers))
set @count=@count+1
end
print('偶數:'+cast(@evenCount as varchar(5)))
print('奇數:'+cast(@oddCount as varchar(5)))
go
測試過,正確。
『叄』 SQL 產生10個20—99之間的隨機整數
SELECT FLOOR(RAND()* 79 + 20)
用上面的sql執行,可以得出20到99之間的一個隨機整數,然後你可以用循環或者重新使用10次得出10個隨機數
『肆』 SQL中隨機產生10個1-50的隨機整數,統計其中的基數和偶數個數
select
sum(case whe (newNumber%2)=0 then 1 else 0 end) as 偶數個數,
sum(case whe (newNumber%2)=1 then 1 else 0 end) as 奇數個數
from
(select
top 50
abs(checksum(newid())%50)+1 as newNumber
form
sysobjects a,sysobjects b
) as t1
『伍』 從sql server 資料庫中隨機取出10條記錄
SELECT TOP 3 * FROM UTABLE WHERE UID='123' ORDER BY NEWID()
UNION ALL
SELECT TOP 7 * FROM UTABLE WHERE UID<>'123' ORDER BY NEWID()
說明:newid()是一個隨機函數,所以這樣就可以查到隨機10條記錄了
union all 是不消除重復記錄進行連接
『陸』 sql如何隨機查詢5~10條數據
SELECT * FROM 表名 WHERE sharer_id=條件(可以不寫) ORDER BY RAND() LIMIT 條數
『柒』 sql中如何隨機生成5~10條數據
標准SQL語句並不支持隨機查詢,沒有隨機函數。 如果真需要這個功能,可以考慮寫一個存儲過程或者函數實現。