Автор Тема: Выборка данных  (Прочитано 4816 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн RelaX

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 200
  • +0/-0
  • 0
    • Просмотр профиля
Выборка данных
« : 05 Апреля 2005, 17:36:45 »
Здравствуйте!
У меня есть таблица, в которой есть столбец цифровой, данные в нем идут по возрастанию.
Есть запроc
SELECT * FROM `stat` ORDER BY `data`  LIMIT 30

Он сортирует все по дате и берет ПЕРВЫЕ 30 записей. Как мне по той же сортировке получить ПОСЛЕДНИЕ 30 записей, чтобы у меня в полученном массиве дата шла на возрастание?

Делал запрос с DESC, получаю то что надо, только данные в обратном порядке, что мне не надо.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Выборка данных
« Ответ #1 : 05 Апреля 2005, 18:10:27 »
получи массив в скрипт и там отсортируй назад
это самое простое

Оффлайн RelaX

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 200
  • +0/-0
  • 0
    • Просмотр профиля
Выборка данных
« Ответ #2 : 05 Апреля 2005, 18:16:35 »
RomikChef
а средствами mysql как-нибудь?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Выборка данных
« Ответ #3 : 05 Апреля 2005, 20:17:05 »
а зачем?

Оффлайн RelaX

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 200
  • +0/-0
  • 0
    • Просмотр профиля
Выборка данных
« Ответ #4 : 05 Апреля 2005, 20:31:11 »
чтобы БД думала, на то она и БД.
сделать запрос типа ..... LIMIT , 20
т.е. пропустить все и взять последние 20

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Выборка данных
« Ответ #5 : 05 Апреля 2005, 20:32:06 »
это будет дольше, чем отсортировать в скрипте

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Выборка данных
« Ответ #6 : 06 Апреля 2005, 09:39:45 »
RelaX
что-то аля... :
SELECT * FROM \'stat` ORDER BY `data` LIMIT 30 OFFSET (SELECT COUT(*) FROM \'stat\')-30
?
And no religion too...

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Выборка данных
« Ответ #7 : 06 Апреля 2005, 09:41:46 »
RomikChef
Цитировать
это будет дольше, чем отсортировать в скрипте

на чем основываються подобные заявления?
And no religion too...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Выборка данных
« Ответ #8 : 06 Апреля 2005, 11:26:21 »
на соображениях, базирующихся на опыте.

Оффлайн RelaX

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 200
  • +0/-0
  • 0
    • Просмотр профиля
Выборка данных
« Ответ #9 : 06 Апреля 2005, 18:27:13 »
сделал два запроса, в  первом получаю число записей в БД, а во втором получаю выборку с N-30 записи и выбираю 30 записей.

commander
а разде mysql подддерживает вложенные запросы? это больше похоже на PostgreSQL

тему можно считать закрытой. раз так все сделал так, как не хотел делать

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
Выборка данных
« Ответ #10 : 07 Апреля 2005, 09:27:36 »
Цитировать
RelaX:
а разде mysql подддерживает вложенные запросы?

[off]угу поддерживает[/off]
[off]Безработный[/off]

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28