簡體   English   中英

從數據庫中獲取隨機排名前三的記錄:php-mysql

[英]Get random top 3 record from database : php-mysql

我想創建一個隨機圖像橫幅,該橫幅從MySQL數據庫中獲取圖像數據。 我只想隨機獲取最新的三個記錄。

如何以隨機順序獲取最近的3條記錄?

我是以下查詢:

SELECT * FROM bottom_advt WHERE bottom_advt_page_name='News' ORDER BY RAND() LIMIT 1

但它不起作用。

您說了3條記錄。 因此,請嘗試:

SELECT * FROM bottom_advt WHERE bottom_advt_page_name='News' ORDER BY RAND() LIMIT 3

您將結果限制為LIMIT 1 將其更改為LIMIT 3可獲得三個結果。

如果您想要最后三個記錄之一,請嘗試以下操作:

SELECT * FROM bottom_advt WHERE bottom_advt_page_name='News' AND id+3>last_insert_id() ORDER BY RAND() LIMIT 1

您可以使用此:

SELECT *
FROM bottom_advt
WHERE ID IN (SELECT * FROM (
  SELECT id
  FROM bottom_advt
  WHERE bottom_advt_page_name='News'
  ORDER BY id DESC
  LIMIT 3) last)
ORDER BY RAND()
LIMIT 1

子查詢將返回最后3個具有bottom_advt_page_name='News' ID,外部查詢將隨機選擇其中一個。

請看這里的小提琴。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM