![]() |
|
Модераторы: Poseidon |
![]()
|
|
| izOne |
|
||||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 22.8.2003 Где: Украина, Киев Репутация: нет Всего: 4 |
Связь вакансия-категории
Вакансии:
Теперь попытаюсь обьяснить что нужно получить... При просмотре вакансии необходимо получить предыдущие вакансии в категориях, к которым относиться запрашиваемая вакансия. Пример: запрос
возвращает строки типа:
Так вот из всего этого результата надо получить только 3 строки(запрашиваемая вакансия отнесена к 3 трем категориям, может относиться к любому кол-ву категорий)
Это сообщение отредактировал(а) izOne - 30.10.2006, 13:19 --------------------
Успех ждет каждого, но иногда всю жизнь. |
||||||||||
|
|||||||||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 11 Всего: 360 |
из Форум программистов -> Программирование -> Базы данных -> MySQL
|
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 26 Всего: 122 |
ну если тебе необходимо только 3 строки, то смотри
|
|||
|
||||
| izOne |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 22.8.2003 Где: Украина, Киев Репутация: нет Всего: 4 |
Rodman,
Вобще то это понятно... ты посмотрел вопрос? --------------------
Успех ждет каждого, но иногда всю жизнь. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 11 Всего: 360 |
Rodman, ты вопрос попытался понять, прежде чем отвечать?
izOne, это должно помочь
Добавлено @ 13:39 Модератор: Название темы должно отражать ее суть! |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 23 Всего: 459 |
Модератор: правильно заданный вопрос залог быстрого и точного ответа. Это сообщение отредактировал(а) alexeis1 - 30.10.2006, 13:42 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| izOne |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 22.8.2003 Где: Украина, Киев Репутация: нет Всего: 4 |
sergejzr,
пробывал так... но distinct на айди категории ничего не дает да и в принципе не нужен(необходимо получить все вакансии в необходимых категориях, отсортировать их по дает добавления, и лишь потом получить три верхних с необходимыми категориями), а после группировки получаем не тот результат кот. хочется. MySQL 5. Добавлено @ 13:51 alexeis1, Для того чтобы отвечать, необходимо читать вопрос! --------------------
Успех ждет каждого, но иногда всю жизнь. |
|||
|
||||
| izOne |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 22.8.2003 Где: Украина, Киев Репутация: нет Всего: 4 |
sergejzr,
Пробывал и нечто вот такое:
Но здесь загвоздка в том, что счетчики считают еще до сортировки и соответсвенно в результате неправильные данные. --------------------
Успех ждет каждого, но иногда всю жизнь. |
|||
|
||||
| muzer |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 31.8.2006 Репутация: 1 Всего: 31 |
Быстрого решения в общем-то нет.
Из работающих вариантов: 1.
2. Также можно воспользоваться решением, которое предлагается в документации mysql'я (но оно тоже тяжёлое, возможно тяжелее предыдущего, надо тестить):
3. Тоже интересный, но тяжёлый вариант.
Список можно в принципе продолжить, но чего-то оптимальнее вряд ли можно найти.. Кстати, тоже потестите, возможно намного быстрее будет пользоваться вашим запросом, который возвращает все строки, а нужные отбирать уже в программе. Добавлено @ 14:19 sergejzr, судя по всему речь идёт про mysql, а там нет возможности указывать distinct только для одного поля. Или строки уникальны по всем полям или не уникальны. Для уникальности по одному или неск полям, есть группировка (либо маленький изврат типа FORCE INDEX + ORDER BY, этот вариант не стал приводить, ибо это случайная фича mysql'я). |
||||||
|
|||||||
| izOne |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 22.8.2003 Где: Украина, Киев Репутация: нет Всего: 4 |
muzer,
Спасибо, сейчас буду смотреть. ------ 1. отработал как надо, и вроде бы не слишком долго(count(*) на InnoDb считался в десятки раз дольше) 2. неправильный результат: три строки, но отличаются только cat_id, два других столбца одинаковые. 3. результат аналогичен №2(одинаковые add_date и id для трёх строк) Это сообщение отредактировал(а) izOne - 30.10.2006, 14:59 --------------------
Успех ждет каждого, но иногда всю жизнь. |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |