Mysql Выберите вторую строку

У меня вопрос mysql.


У меня есть раздел новостей на моем сайте, и я хочу отобразить два последних элемента. Если я это сделаю:

SELECT * FROM nieuws ORDER BY id DESC LIMIT 1

он выбирает последний элемент, и теперь я хочу выбрать второй для последнего элемента.

Вы, ребята, знаете, как это сделать?

///EDIT

Теперь это не работает, вот мой код: (у меня есть соединение включено;))

            $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 --> 

Ответы

Ответ 1

SELECT * FROM nieuws ORDER BY id DESC LIMIT 2 - выбор последних двух элементов

SELECT * FROM nieuws ORDER BY id DESC LIMIT 1, 1 - выбирает только второй элемент

Ответ 2

LIMIT может принимать два аргумента:

SELECT ... LIMIT 1, 1

Ответ 3

Если вы хотите отображать последние два элемента, вы можете получить оба одновременно, ограничив 2 вместо 1. Это означает, что для получения необходимой вам информации требуется только одна база данных.

SELECT * FROM nieuws ORDER BY id DESC LIMIT 2

Или, если вам нужна только вторая строка, вы можете дать смещение LIMIT, чтобы указать, с какой строки начать работу (хотя если вы получите первую строку в одном запросе, а затем получите вторую в другой, вы "делать два обращения к базе данных, чтобы получить нужные данные, что может повлиять на производительность).

SELECT * FROM nieuws ORDER BY id DESC LIMIT 1, 1

Вы можете узнать больше о том, как использовать предложение LIMIT в документации по MySQL.

Ответ 4

SELECT * FROM table, где id > (SELECT id FROM table order by id ASC limit1,1) и id <= (выберите max (id) из таблицы)