Mysql选择第二行

And*_*dre 17 php mysql sql

我有一个mysql问题.


我的网站上有一个新闻栏目,我想展示最新的两个项目.如果我做:

SELECT * FROM nieuws ORDER BY id DESC LIMIT 1
Run Code Online (Sandbox Code Playgroud)

它选择最新的项目,现在我想选择倒数第二项.

你们知道怎么做吗?

///编辑

现在它不起作用,这是我的代码:(我有连接包括;))

            $select = mysql_query("SELECT * FROM nieuws ORDER BY id DESC LIMIT 1");
            while($row = mysql_fetch_assoc($select)) {
            $datum = $row['time'];
            $titel = $row['title'];
            $bericht = $row['message'];
            ?>
            <div class="entry">

                <span class="blue date"><?php echo "$datum"; ?></span>
                <h3><?php echo "$titel"; ?></h3>
                <p><?php echo "$bericht"; ?></p> <br />
            </div><!-- end of entry --> <?php } ?>
            <?php 
            $select2 = mysql_query("SELECT * FROM nieuws ORDER BY id DESC LIMI 1, 1");
            while($row2 = mysql_fetch_assoc($select2)) {
                $datum = $row2['time'];
                $titel = $row2['title'];
                $bericht = $row2['message'];
                ?>
            <div class="entry">
                <span class="green date"><?php echo "$datum"; ?> </span>
                <h3><?php echo "$titel"; ?></h3>
                <p><?php echo "$bericht"; ?></p>
            </div> <!-- end of entry --> <?php } ?>
        </div><!-- end of news --> 
Run Code Online (Sandbox Code Playgroud)

ant*_*rat 35

SELECT * FROM nieuws ORDER BY id DESC LIMIT 2 - 选择最后2项

SELECT * FROM nieuws ORDER BY id DESC LIMIT 1, 1 - 仅选择第二项


Ale*_*nov 5

LIMIT 可以采取两个论点:

SELECT ... LIMIT 1, 1
Run Code Online (Sandbox Code Playgroud)


Ric*_*ams 5

如果你想显示最新的两个项目,那么你可以通过限制为2而不是1来同时获得两个项目.这意味着只有一个数据库命中才能获得所需的信息.

SELECT * FROM nieuws ORDER BY id DESC LIMIT 2
Run Code Online (Sandbox Code Playgroud)

或者如果你只想要第二行,你可以给LIMIT一个偏移量,告诉它从哪一行开始,(虽然如果你在一个查询中得到第一行,那么在另一行得到第二行,你正在做两个数据库命中以获取所需的数据,这可能会影响性能).

SELECT * FROM nieuws ORDER BY id DESC LIMIT 1, 1
Run Code Online (Sandbox Code Playgroud)

您可以在MySQL文档中找到有关如何使用LIMIT子句的更多信息.