古詩詞大全網 - 成語查詢 - tp5?怎麽隨機獲取n條數據的方法

tp5?怎麽隨機獲取n條數據的方法

1.隨機讀取連續多條記錄。經過實踐,可以隨機讀取多條連續的數據記錄,裏頭取值的壹般都是主鍵ID來進行最大值、最小值的讀取:

1

SELECT

*

FROM

example_table

AS

t1

JOIN

(SELECT

ROUND(RAND()

*

((SELECT

MAX(id)

FROM

example_table)-(SELECT

MIN(id)

FROM

example_table))+(SELECT

MIN(id)

FROM

example_table))

AS

id)

AS

t2

WHERE

t1.id

>=

t2.id

ORDER

BY

t1.id

LIMIT

5;

2.隨機多條數據。以下兩種都是隨機讀取數據,查詢數據速度、隨機範圍都基本相差不大

1

SELECT

*

FROM

example_table

WHERE

id

>=

((SELECT

MAX(id)

FROM

example_table)-(SELECT

MIN(id)

FROM

example_table))

*

RAND()

+

(SELECT

MIN(id)

FROM

example_table)

LIMIT

5;

1

SELECT

*

FROM

example_table

WHERE

id>=(SELECT

floor(RAND()

*

((SELECT

MAX(id)

FROM

example_table)-(SELECT

MIN(id)

FROM

example_table))

+

(SELECT

MIN(id)

FROM

example_table)))

ORDER

BY

id

LIMIT

5;