資料庫中隨機查詢一條記錄的SQL

2021-06-19 12:41:02 字數 933 閱讀 4629

資料庫的隨機查詢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

隨機查詢指定人員的一條未讀訊息

幫助訊息表 s_msg_hint

幫助訊息id smh_id number(20) pk

幫助訊息內容 smh_text varchar2(200)

人員幫助訊息表 s_hintpeople

人員id shp_uid varchar2(20) pk

當前幫助訊息id smh_id number(20)  pk fk

如果為已讀訊息會在 人員幫助訊息表裡面生成記錄

select

*from

(select

smh.*,

nvl2( shp.smh_id,1,0) as status --0:未讀 1:已讀

from

s_msg_hint smh

left join s_hintpeople shp 

on smh.smh_id = shp.smh_id 

and shp.shp_uid = 'p_chencc'

order by

dbms_random.value  --隨機數值排序

)where

status = 0 and --未讀訊息

rownum <= 1  --取一條

MySQL資料庫中隨機獲取一條或多條記錄

工作中會遇到從資料庫中隨機獲取一條或多條記錄的場景,下面介紹幾種隨機獲取的方法供參考。首先建立個users表演示 create table users id int 11 not null auto increment,username varchar 255 default null,age in...

MySQL資料庫中隨機獲取一條或多條記錄

在開發過程中遇到了乙個問題,使用mysql資料庫,用sql語句在表中隨機獲取一條或多條資料,看似簡單,但是往深層研究的話還是很有深度的,查了好多資料,接下來給大家分享一下 select from table name order by rand limit 1 mysql中的rand 函式呼叫可以在...

sql 查資料庫中時間最新的一條記錄

下策 查詢出結果後將時間排序後取第一條 select from a where create time 2017 03 29 19 30 36 order by create time desc limit 1這樣做雖然可以取出當前時間最近的一條記錄,但是一次查詢需要將表遍歷一遍,對於百萬以上資料查...