Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/26: Рейтинг темы: голосов - 26, средняя оценка - 4.73
21 / 21 / 2
Регистрация: 29.06.2009
Сообщений: 283
1

SQL запросы, построение запроса

05.12.2009, 12:49. Показов 5287. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть sql запрос
SQL
1
SELECT * FROM cbrf ORDER BY dates DESC LIMIT 30
Выводящий 30 последнийх записей с сортировкой по дате.
Далее я делаю
SQL
1
SELECT * FROM cbrf ORDER BY dates ASC LIMIT 30
Сортируется в обратную сторону вся База по столбцу дата.

А как сделать так чтоб в обратную сторону сортировалось только то что выводится первый раз?

Добавлено через 1 час 12 минут
вроде как понимаю что запрос должен быть вложенный, ну че та не в курю как его сделать
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2009, 12:49
Ответы с готовыми решениями:

Перевести запросы SQL в запросы средствами реляционной алгебры
Ребята помогите, пожалуйста, перевести запросы SQL в язык реляционной алгебры. Курсак с утра...

Построение запроса
Есть таблица Product. maker model type A 1232 PC A 1233 PC A 1276 Printer A 1298 Laptop...

Построение запроса SQL
Как построить запрос SQL так, чтобы формировалось дополнительное поле содержащее сумму двух полей....

Построение запроса SQL
Как построить запрос SQL так, чтобы формировалось дополнительное поле содержащее сумму двух полей....

9
1512 / 779 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
05.12.2009, 13:01 2
SQL
1
SELECT * FROM (SELECT * FROM cbrf ORDER BY dates DESC LIMIT 30) AS sTable ORDER BY dates ASC
2
21 / 21 / 2
Регистрация: 29.06.2009
Сообщений: 283
05.12.2009, 14:35  [ТС] 3
сенкс и даже работает
А можно расписать то что вы тут написали?

Добавлено через 1 минуту
SQL
1
SELECT * FROM (SELECT * FROM cbrf ORDER BY dollar DESC LIMIT 30) AS sTable ORDER BY dollar ASC
SQL
1
SELECT * FROM (SELECT * FROM cbrf ORDER BY evro DESC LIMIT 30)AS sTable ORDER BY evro ASC
И еще запросы работают, но как то не правильно, в чем я тут ошибся?
0
1512 / 779 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
05.12.2009, 17:30 4
C формулируйте словами то что вам нужно и тогда я вам помогу запрос составить
0
21 / 21 / 2
Регистрация: 29.06.2009
Сообщений: 283
05.12.2009, 21:25  [ТС] 5
Тот запрос что вы сделали, отличный. Он сортирует в обратную сторону определенный кусок а точнее только последнии 30 записей в базе. Тоже самое нужно еще по двум столбцам.
Запрос выше, тот что я сделал не могу понять как сортирует. Юрл для понимание кину в личку.
0
1512 / 779 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
05.12.2009, 21:54 6
Лучший ответ Сообщение было отмечено как решение

Решение

Сформулируйте конкретнее как надо и что сортировать например надо отсортировать последние 30 записей по определенному столбцу.
Если же имеено это вам нужно то алгортм следующий так как вам надо получить последние записи из таблицы то надо:
1.сначала отсортировать записи по ID - это уникальный номер строки в таблице если конечно он является автоинкрементным столбцом.обычно это первичный ключ таблицы.
либо если у вас в таблице хранится дата и время добавления записи то можно по этому столбцу сотрировать.
2.Извлекаем последние 30 записей.
3. Полученные записи(из предыдушего запроса) уже сортируем по другому нужному столбцу.
чтобы это все сделать надо использовать вложенные запросы.
Приведу пример пусть дана таблица с полями ID, Num1,Num2
и хранятся следующие данные
ID, Num1, Num2
1 234 234
2 34 22
3 234 234
..... и так далее
Запрос будет следующим
SQL
1
SELECT * FROM (SELECT * FROM TableName ORDER BY ID DESC LIMIT 30) AS TempTable ORDER BY Num1 ASC
В этом запросе мы сортируем по столбцу Num1 последние 30 записей. которые извлечены во вложенном запросе в таблицу TempTable.
1
21 / 21 / 2
Регистрация: 29.06.2009
Сообщений: 283
05.12.2009, 22:22  [ТС] 7
Спасибо, тут надо не просить сделать а самому курить вложенные запросы. Ну пинок в нужном направлении спасибо. Буду разбираться
0
1512 / 779 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
05.12.2009, 22:24 8
Вот почитайте http://www.sql.ru/docs/sql/u_sql/ch10.shtml
http://www.intuit.ru/department/database/cdba/5/
0
1512 / 779 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
06.12.2009, 01:17 9
Если будет что-то непонятно или же какие-то вопросы обращайтесь всегда пожалуйста.
0
21 / 21 / 2
Регистрация: 29.06.2009
Сообщений: 283
06.12.2009, 23:38  [ТС] 10
SQL
1
2
$result_order_by_dollar = mysql_query("SELECT * FROM (SELECT * FROM cbrf ORDER BY dates DESC LIMIT $limits) AS sTable ORDER BY dollar DESC") OR die("Query failed : " . mysql_error());
$result_order_by_dollar_asc = mysql_query("SELECT * FROM (SELECT * FROM cbrf ORDER BY dates DESC LIMIT $limits) AS sTable ORDER BY dollar ASC") OR die("Query failed : " . mysql_error());
Короче я вкурил два запроса выше выдают мне то что нужно.
0
06.12.2009, 23:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2009, 23:38
Помогаю со студенческими работами здесь

Построение запроса
Имеется 2 таблицы: clientis(главная), communication(зависимая). Нужно выбрать всех клиентов,у...

SQL запросы, чем плоха конкатенация SQL запроса?
Опишу ситуацию, есть БД с несколькими таблицами, с которыми нужно совершать много разных операций...

Построение SQL запроса программно
Вообщем имеется 2 XML документа. Структура обоих одинакова <?xml version="1.0" encoding="utf-8" ?>...

Некорректное построение SQL запроса с фильтром
Вообщем у меня есть код который каждый раз перестраивает строку запроса в зависимости от выбранных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru