Вывести 10 последних строк по возрастанию

Статус
Закрыто для дальнейших ответов.

Abrogen

Убью нахер
Регистрация
18.08.2010
Сообщения
190
Как из БД вывести 10 последних строк по возрастанию DATE?
 

hackee

Well-Known Member
Регистрация
17.01.2011
Сообщения
309
Вообще по умолчанию идет выбор данных по возрастанию
SELECT * FROM table ORDER BY id ASC

а по убыванию
Вообще по умолчанию идет выбор данных по возрастанию
SELECT * FROM table ORDER BY id DESC

Последних строк в беза нету, есть по дате создания только последние или по полю id например.

Вроде так :huh:
 

AngelGabriel

И имя мне - легион
Регистрация
23.11.2008
Сообщения
778
SELECT * FROM `table` ORDER BY id DESC LIMIT 10

мы тут пишем пишем а о каких бд хоть речь идет
 

hackee

Well-Known Member
Регистрация
17.01.2011
Сообщения
309
В предыдущем посте лишний раз строку скопировал ))

SELECT * FROM `table` ORDER BY id DESC LIMIT 10

мы тут пишем пишем а о каких бд хоть речь идет
Запрос выведет 10 строк по убыванию из поля id

Но ведь они не могут быть последними ;)

так что делайте поле дата в таблице и выводите по дате.
 

Abrogen

Убью нахер
Регистрация
18.08.2010
Сообщения
190
Вы вопрос мой не правильно поняли.
Как из БД вывести 10 последних строк по возрастанию поля DATE?
Для меня ключевой фразой была - "по возрастанию поля DATE"

Я решил этот вопрос таким образом:
Код:
$count = $db->query( 'SELECT COUNT(*) AS `c` FROM `table`' );
$count = $count->fetch_assoc();
		
if ( $count['c'] > 10 ) {
	$count = $count['c'] - 10;
	$limit = ' LIMIT ' . $count . ', 10';
} else
	$limit = '';

$query = $db->query( 'SELECT * FROM `table` ORDER BY `msg_date` ASC' . $limit );
Не понимаю одного, как я - человек, который это делал не однократно, так долго "тупил" :mad:
Если у кого-то есть более изящный вариант, прошу, выкладывайте.

Запрос выведет 10 строк по убыванию из поля id

Но ведь они не могут быть последними

так что делайте поле дата в таблице и выводите по дате.
Что за "ересь"? Вы знаете что такое AUTO_INCREMENT? ID с этим параметром будет всегда возрастать! А дату также, как и айди можно указать вручную какую пожелаешь!
 

hackee

Well-Known Member
Регистрация
17.01.2011
Сообщения
309
а записи умеют и удалятся еще ... и вообще много что. Desc он выведет максимальную выше всех и внизу по убыванию пойдет, asc наоборот

а еще при создании можно делать что бы системная дата ставилась (в момент создания)
 

AngelGabriel

И имя мне - легион
Регистрация
23.11.2008
Сообщения
778
это ооп для меня пока темный лес, но вы не подумайте я работаю над этим :)
 

Abrogen

Убью нахер
Регистрация
18.08.2010
Сообщения
190
а записи умеют и удалятся еще
это ни на что не влияет, ID как возрастал так и будет возрастать. Autoindex вам о чём-нибудь говорит?

P.S: Сразу видно, что у вас в голове одна теория, никакой практики.

это ооп для меня пока темный лес
Это объектно-ориентированный подход работы с БД. Вполне достаточно и процедурного, но к этому я уже привык.
 

hackee

Well-Known Member
Регистрация
17.01.2011
Сообщения
309
А вам что нибудь LAST_INSERT_ID() говорит?

и так можно до бесконечности, проблему решил - молодец.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ