【问题标题】:MySQL show only the last 8 rows [duplicate]MySQL仅显示最后8行[重复]
【发布时间】:2013-09-17 19:55:52
【问题描述】:

在我的索引页面上,我有“最新作品”,其中显示了 8 个作品集 我需要它来只抓取那些有 active = 1 的 我有这样的事情:

$sql = 'SELECT * FROM portfolio WHERE active = 1';  

我试过这样做,但它不起作用,当我尝试在 PHPMyAdmin 中传递它时也会出错。

$sql = 'SELECT * FROM portfolio 
        WHERE active = 1 
        WHERE [id] > SELECT
        MAX([id]) - 8 FROM portfolio';

有什么想法吗?

【问题讨论】:

  • 这样的问题已经被回答了一百万次了......

标签: php mysql sql


【解决方案1】:

如果您想获取最近的 8 个活动作品,请使用 LIMIT 以及 ORDER BY

$sql = 'SELECT * FROM portfolio WHERE active=1 ORDER BY id DESC LIMIT 8'

【讨论】:

    【解决方案2】:
    SELECT * FROM portfolio WHERE active=1 ORDER BY id DESC LIMIT 8
    

    【讨论】:

      【解决方案3】:
      $sql = 'SELECT * FROM `portfolio` WHERE `active` = 1 ORDER BY `id` DESC LIMIT 8';
      

      ORDER BY id DESC -> 按 ID 值从高到低排列行,相反使用 ASC。

      LIMIT 8 -> 前 8 行

      【讨论】:

        猜你喜欢
        • 2012-04-29
        • 2020-12-29
        • 2012-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-21
        • 2020-06-27
        • 2021-10-30
        相关资源
        最近更新 更多