Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать сортировку? MySQL 
:(
    Опции темы
lancelot555
Дата 30.1.2009, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 19.2.2005

Репутация: нет
Всего: нет



Есть база в MySQL с двумя таблицами...
В таблице А находятся записи о клиентах
в таблице Б находятся сообщения которые оставляют клиенты..

Как сделать некоторую выборку сообщений, например последние 10, и при этом отсортировать их по параметру X который находится в таблице А
Связь между таблицей А и Б осуществляется так: в таблице Б есть поле cid, это ID записи в таблице А

для наглядности:

Таблица A
id     name      X       ....
1       Вася      ms
2       Петя      pr


Таблица  Б       
id    cid    txt    ....
1      1    aaa
2      1    dffs
3      2    sggf

cid это id в таблице A
Нужно сделать выборку из таблицы Б и отсортировать их по параметру X который находится в таблице А

Это сообщение отредактировал(а) lancelot555 - 30.1.2009, 13:13
--------------------
Hи что так не поpтит цель, как попадание! =)
PM MAIL   Вверх
Akella
Дата 31.1.2009, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



Цитата(lancelot555 @  30.1.2009,  12:52 Найти цитируемый пост)
Как сделать некоторую выборку сообщений, например последние 10,

Последние 10 это - первые 10 в отсортированном в обратно порядке наборе данных, т.к. я не знаю оператора обратного First
Код
select FIRST 10 id from (select id from PREPARATS order by id desc)

В таблице хранится
Цитата

30 291
30 292
30 293
30 294
30 295
30 296
30 297
30 298
30 299
30 300
30 301
30 302
30 303
30 304
30 305
30 306
30 307
30 308
30 309
30 310
30 311
30 312


а результат запроса:

Цитата

ID

30 312
30 311
30 310
30 309
30 308
30 307
30 306
30 305
30 304
30 303

желательно, что бы по полю ID (в моём запросе) был бы индекс по убыванию

Добавлено через 6 минут и 18 секунд
lancelot555, кстати, если бы ты соблаговолил воспользоваться поиском
select последних записей
то
вот куда бы ты попал (всего-то третья ссылка на ПЕРВОЙ странице):
http://otvety.google.ru/otvety/thread?tid=5a767226ca02a6bf

Добавлено через 8 минут и 15 секунд
Цитата(lancelot555 @  30.1.2009,  12:52 Найти цитируемый пост)
Связь между таблицей А и Б осуществляется так: в таблице Б есть поле cid, это ID записи в таблице А

это, по-моему, left join

Добавлено через 11 минут и 8 секунд
Цитата(lancelot555 @  30.1.2009,  12:52 Найти цитируемый пост)
Таблица A
id     name      X       ....
1       Вася      ms
2       Петя      pr


Таблица  Б       
id    cid    txt    ....
1      1    aaa
2      1    dffs
3      2    sggf


Код

select
  a.id,
  a.name,
  a.x
  b.id,
  b.txt
from tableA A

left join tableB on (a.id = b.cid)

order by a.x


Добавлено через 12 минут и 55 секунд
Цитата(lancelot555 @  30.1.2009,  12:52 Найти цитируемый пост)
Как сделать некоторую выборку сообщений, например последние 10, 


 ! 
Akella
Название темы должно отражать её суть
 Как может выборка последних 10-ти записей относиться к сортировке?

Это сообщение отредактировал(а) Akella - 31.1.2009, 22:21
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.1745 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.