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

sqlserver隨機查詢

發布時間: 2022-06-19 02:12:00

A. 用sql語句實現隨機查詢數據並不顯示錯誤數據的方法

問題:上級單位要來檢查數據,我的伺服器的資料庫是SQL server 2000,上級單位要求我用SQL語句在伺服器端隨機查詢50條數據出來。可是我的伺服器里有些錯誤數據不希望他們看到,能不能有什麼辦法不讓他們看到。
SQL語句: select top 50 x from a_1 where c=xxxx
語句就是要求這樣寫,然後他們來運行,怎麼辦,有什麼辦法可以在sql server上設置,然後使得這50條數據只在我找出的數據(比如正確的數據400)里隨機查詢出。盡量不要改動SQL語句。
Peak Wong:
可用視圖:
對方抽取時:
select top 50 * from t_view --視圖名
order by newID()
在生成視圖時,把不顯示出來的排除。視圖在查詢時,也就是一個表名的方式//只要對方不知道資料庫表就行了。
SQL code
復制代碼
代碼如下:
select top 10 ID,Name
into T--生成測試表
from sysobjects
go
create view Test--生成視圖名
as
select * from T where ID>5
go
select top 2 * from test order by newID()--隨機取兩條
說明:視圖名,最好與表名比較相似就行了。create view Test--生成視圖名
with ENCRYPTION--加密一下,讓對方看不到你的視圖語句
as
select * from T where ID> 5
go
本篇文章來源於 站長資訊網 原文鏈接:http://sqlserver.chinahtml.com/2007/119613367717217.shtml

B. sqlserver 根據同一表同一欄位的不同數據隨機查詢

select*from(
selecttop3*,NewID()=4
union
selecttop3*,NewID()=5
union
selecttop3*,NewID()=6
union
selecttop1*,NewID()=7
)aaorderbyrandom

C. 使用SQL語句取隨機數的方法

SQL隨機查詢語句,[資料庫使用技巧]SQL語句生成隨機數,如何隨機顯示sql查詢語句查詢的數據記錄集中的20條,隨機取出若干條記錄的SQL語句,使用SQL語句取隨機數的方法
方法如下:
SQL
Server:
Select
TOP
N
*
From
TABLE
order
By
NewID()
Access:
dim
r
randomize
r
=
rnd
sql
=
"select
top
10
*
from
table
order
by
rnd("
&
r
&
"-id)"
rnd("
&
r
&
"-id)
其中的id是自動編號欄位,可以利用其他任何數值來完成,比如用姓名欄位(UserName)
select
top
10
*
from
table
order
by
rnd("
&
r
&
"-Len(UserName))
MySql:
Select
*
From
TABLE
order
By
Rand()
Limit
10
orACLE:
select
*from
(select
*from
t
order
by
dbms_random.value)
where
rownum<10

D. SQL語句如何實現從資料庫表中查詢隨機數據的記錄

資料庫的隨機查詢SQL

1. Oracle,隨機查詢20條
select * from
(
select * from 表名
order by dbms_random.value
)
where rownum <= 20;

2.MS SQL Server,隨機查詢20條
select top 20 * from 表名order by newid()

3.My SQL:,隨機查詢20條
select * from 表名 order by rand() limit 20

E. jsp連接sql server2012怎麼做到隨機查詢N條不同的記錄

下文為您介紹的是使用SQL語句查詢每個分組的前N條記錄的實現方法,如果您在此方面曾經遇到過問題,不妨一看,對您學習SQL語句使用有所幫助。
--> 生成測試數據: #T IF OBJECT_ID('tempdb.dbo.#T') IS NOT NULL DROP TABLE #T CREATE TABLE #T (ID VARCHAR(3),GID INT,Author VARCHAR(29),Title VARCHAR(39),Date DATETIME) INSERT INTO #T SELECT '001',1,'鄒建','深入淺出SQLServer2005開發管理與應用實例','2008-05-10' UNION ALL SELECT '002',1,'胡百敬','SQLServer2005性能調校','2008-03-22' UNION ALL SELECT '003',1,'格羅夫Groff.J.R.','SQL完全手冊','2009-07-01' UNION ALL SELECT '004',1,'KalenDelaney','SQLServer2005技術內幕存儲引擎','2008-08-01' UNION ALL SELECT '005',2,'Alex.Kriegel.Boris.M.Trukhnov','SQL寶典','2007-10-05' UNION ALL SELECT '006',2,'飛思科技產品研發中心','SQLServer2000高級管理與開發','2007-09-10' UNION ALL SELECT '007',2,'胡百敬','SQLServer2005資料庫開發詳解','2008-06-15' UNION ALL SELECT '008',3,'陳浩奎','SQLServer2000存儲過程與XML編程','2005-09-01' UNION ALL SELECT '009',3,'趙松濤','SQLServer2005系統管理實錄','2008-10-01' UNION ALL SELECT '010',3,'黃占濤','SQL技術手冊','2006-01-01'UNION ALL SELECT '010',4,'黃蛋蛋','SQL技術手冊蛋蛋','2006-01-01' --SQL查詢如下: --按GID分組,查每個分組中Date最新的前2條記錄 select * from #T --1.欄位ID唯一時: SELECT * FROM #T AS T WHERE ID IN(SELECT TOP 3 ID FROM #T WHERE GID=T.GID ORDER BY Date DESC) --2.如果ID不唯一時: SELECT * FROM #T AS T WHERE 2>(SELECT COUNT(*) FROM #T WHERE GID=T.GID AND Date>T.Date) --SQL Server 2005 使用新方法 --3.使用ROW_NUMBER()進行排位分組 SELECT ID,GID,Author,Title,Date FROM ( SELECT rid=ROW_NUMBER() OVER(PARTITION BY GID ORDER BY Date DESC),* FROM #T ) AS T WHERE rid<=2 --4.使用APPLY SELECT DISTINCT b.* FROM #T AS a CROSS APPLY ( SELECT TOP(2) * FROM #T WHERE a.GID=GID ORDER BY Date DESC ) AS b select * from #T

F. (sqlserver)表中有個a是隨機1到10的數字,現在要查詢出以下東西

select a,count(a) 次數
from 表
group by a
order by count(a) desc

--如果你這是sql2005就用
row_num() over() 來處理名次。但我這沒環境也沒試

--下面這是另種方法
declare @t table(a int,b int,c int identity(1,1))
insert into @t(a,b)
select a,count(a) 次數
from 表
group by a
order by count(a) desc
select * from @t

G. sqlserver 兩表查詢1對多,隨機取一條數據 求sql語句

你兩個表的 [track artist] 各弄出一點貼出來看看


主要是看看 要用 like 還是要用 = 號

或者是有什麼明顯的特徵


如果是有相同的 那麼就簡單了

UPDATEruSETisrc=(SELECTTOP1isrcfromjibiaowhere[artist]=ru.[artist])

你要更新多歌欄位 就參考這個去修改一下

H. SQL、MySQL、Oracle隨機查詢語句

關於SQL Server SQL語句查詢分頁數據的解決方案:要求選取 tbllendlist 中 第3000頁的記錄,每一頁100條記錄。-----------------------------------方法1:----------select top 100 * from tbllendlistwhere fldserialNo not in(select top 300100 fldserialNo from tbllendlistorder by fldserialNo)order by fldserialNo----------方法2:----------SELECT TOP 100 *FROM tbllendlistWHERE (fldserialNo >(SELECT MAX(fldserialNo)FROM (SELECT TOP 300100 fldserialNoFROM tbllendlistORDER BY fldserialNo) AS T))ORDER BY fldserialNo方法1執行速度比較快!不過,這種做法還是很麻煩,強烈期待微軟發明新的可分頁的SQL語句來!!!!SQL Server ---------------------------------------------------------------------------------從資料庫表中的第M條記錄開始取N條記錄,利用Top關鍵字:注意如果Select語句中既有top,又有order by,則是從排序好的結果集中選擇:SELECT *FROM ( SELECT Top N *FROM (SELECT Top (M + N - 1) * FROM 表名稱 Order by 主鍵 desc) t1 ) t2Order by 主鍵 asc例如從表Sys_option(主鍵為sys_id)中從10條記錄還是檢索20條記錄,語句如下:SELECT *FROM ( SELECT TOP 20 *FROM (SELECT TOP 29 * FROM Sys_option order by sys_id desc) t1) t2Order by sys_id ascOralce資料庫--------------------------------------------------------------------------------從資料庫表中第M條記錄開始檢索N條記錄SELECT *FROM (SELECT ROWNUM r,t1.* From 表名稱 t1 where rownum < M + N) t2where t2.r >= M例如從表Sys_option(主鍵為sys_id)中從10條記錄還是檢索20條記錄,語句如下:SELECT *FROM (SELECT ROWNUM R,t1.* From Sys_option where rownum < 30 ) t2Where t2.R >= 10如果你對Oracle資料庫分頁不是很熟悉的話,本頁後面有專門對Oracle分頁技術的講解。My sql資料庫---------------------------------------------------------------------------------------------My sql資料庫最簡單,是利用mysql的LIMIT函數,LIMIT [offset,] rows從資料庫表中M條記錄開始檢索N條記錄的語句為:SELECT * FROM 表名稱 LIMIT M,N例如從表Sys_option(主鍵為sys_id)中從10條記錄還是檢索20條記錄,語句如下:select * from sys_option limit 10,20TAG: racle RACLE Server server SERVER sql SQL

I. 隨機查詢資料庫中的10填信息用sql語句應該怎麼寫求高手幫忙!!

為什麼不先產生 10 個隨機數,然後根據這10個隨機數再去取對應的行呢,比如2,4,100……你就可以取2,4,100行

J. sqlserver查詢結果中增加和一個隨機序列怎麼做

select abs(checksum(newID())%100000) as No,Name from sysobjects where xtype='U'