![]() |
|
Модераторы: skyboy |
![]()
|
|
| od0201 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 16.1.2009 Репутация: нет Всего: 1 |
Добрый день, не хватает знаний сделать правильный запрос, помогите
поля дата, ID female, ID male, letter (первые 3 поля уникальный индекс) выбрать все возможные пары мальчик-девочка с максимальной датой и письмо из этой записи
работает правильно, в таблице 3 000 записей и запрос выполняется 15 секунд Спасибо |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: нет Всего: 55 |
Если правильно понимаю, то дата максимальная в масштабе всей таблицы.
Тогда этот запрос должен делать то же самое:
Добавлено через 3 минуты и 28 секунд Все никак не могу вообразить, зачем вам там concat полей? -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| od0201 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 16.1.2009 Репутация: нет Всего: 1 |
мне нужно получить последние письма по всем допустимым парам
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Уберите конкатенацию, она не нужна:
Если в индексе иной порядок полей - поменяйте их порядок в индексе или в запросе. Добавлено через 1 минуту и 2 секунды И - оптимизация СУБД-зависима, задавать вопрос в общем разделе (и даже не указать СУБД) неразумно. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| od0201 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 16.1.2009 Репутация: нет Всего: 1 |
сорри, база MySQL
индекс задан в этом же порядке но Ваш вариант (Akina) выдает ошибку #1241 - Operand should contain 1 column(s) |
|||
|
||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: нет Всего: 35 |
Попробуй JOIN между запросами:
-------------------- Никогда не говори никогда |
|||
|
||||
| od0201 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 16.1.2009 Репутация: нет Всего: 1 |
немного исправлений и
все работает. Спасибо boevik |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
попробуйте убрать скобки... я не помню, как правильно пишется многоколоночный where in -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| od0201 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 16.1.2009 Репутация: нет Всего: 1 |
без скобок тоже ничего путного не вышло...к тому же я "начитался" немного и люди советуют использовать вариант с JOIN вместо IN, он на порядок быстрее выполняется (по крайней мере в моем случае это так) |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |