Ответ 1
SELECT * FROM nieuws ORDER BY id DESC LIMIT 2
- выбор последних двух элементов
SELECT * FROM nieuws ORDER BY id DESC LIMIT 1, 1
- выбирает только второй элемент
У меня вопрос 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 -->
SELECT * FROM nieuws ORDER BY id DESC LIMIT 2
- выбор последних двух элементов
SELECT * FROM nieuws ORDER BY id DESC LIMIT 1, 1
- выбирает только второй элемент
LIMIT
может принимать два аргумента:
SELECT ... LIMIT 1, 1
Если вы хотите отображать последние два элемента, вы можете получить оба одновременно, ограничив 2 вместо 1. Это означает, что для получения необходимой вам информации требуется только одна база данных.
SELECT * FROM nieuws ORDER BY id DESC LIMIT 2
Или, если вам нужна только вторая строка, вы можете дать смещение LIMIT, чтобы указать, с какой строки начать работу (хотя если вы получите первую строку в одном запросе, а затем получите вторую в другой, вы "делать два обращения к базе данных, чтобы получить нужные данные, что может повлиять на производительность).
SELECT * FROM nieuws ORDER BY id DESC LIMIT 1, 1
Вы можете узнать больше о том, как использовать предложение LIMIT в документации по MySQL.
SELECT * FROM table, где id > (SELECT id FROM table order by id ASC limit1,1) и id <= (выберите max (id) из таблицы)