[英]Sets of 25 with PHP and MySQL
我想要完成的是,
我已經知道如何從數據庫中插入和提取信息,但我不知道如何進行適當的分組以將它們分成 25 組。
編輯:如何根據表中的行數自動增加 LIMIT?
編輯#2:這個問題不是重復的。 我不想要最近的 25 個。我想要它們以 25 為一組。我的問題在下面得到了回答。
您想使用此查詢,order by 僅當您需要以某種方式對其進行排序以獲得正確的 25 組時:
SELECT * FROM `your_table` ORDER BY `field_name` DESC LIMIT 0, 25
2nd set of 25 你需要使用這個(注意第一個 LIMIT 數字是不同的):
SELECT * FROM `your_table` ORDER BY `field_name` DESC LIMIT 25, 25
第三套
SELECT * FROM `your_table` ORDER BY `field_name` DESC LIMIT 50, 25
第一個 LIMIT 數字是偏移量,或者您希望記錄從哪里開始提取,第二個是要提取的記錄數。 如果只有 26 和 27,這里的第二個查詢將適用。 您可以看到,在這種情況下,每個集合都要求您將偏移量增加您請求的記錄數。
恕我直言,你不能在一個查詢中做到這一點(至少在可讀的標准 SQL 中)。
你需要:
獲取表中的條目數(假設表名為tbl1
):
SELECT count(*) FROM tbl1;
使用整數除法獲取未選擇的條目數。 確切的代碼取決於您使用的語言。 例如在 PHP 上(假設步驟 1 的結果存儲在$count
):
$offset = floor($count/25); //or: $offset = $count - $count%25;
使用 LIMIT 提取所需條目:
SELECT * FROM tbl1 ORDER BY <specify-order-here> LIMIT 25 OFFSET <insert-$offset-here>;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.