|
Модераторы: skyboy |
|
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
T1
id 1 2 T2 id pt_id 1 1 2 1 3 1 4 2 5 3 Select t1.id, t2.id from t1 left join t2 on t1.id=t2.pt_id В результате такого запроса будет таблица из 5 строк, t1.id t2.id 1 1 1 2 1 3 2 4 2 5 а нужно получить по 1 значению для каждого id из первой таблицы. Например по максимальному id второй. то есть t1.id t2.id 1 3 2 5 Это сообщение отредактировал(а) Aver78 - 4.9.2016, 19:15 |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
GROUP BY MAX() -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
GROUP BY t2.id вообще ничего не даст, потому что они уникальны.
Наверное имелось в виду GROUP BY t1.id, но в этом случае при группировании возвращается строка с минимальным id. Если же поставить еще ORDER BY t2.id DESC то t2.id возвращается правильный но остальные данные(их, ясен пень, больше в таблице чем я указал для примера) опять же соответсвуют минимальному t2.id. |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
Да.
Неспособность прочитать более половины ответа - это плохо... ... как и способность прочитать в нём то, чего нет... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Критика - это хорошо конечно, но куда следует привязать max() - из ответа непонятно.
|
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
привяжи туда, где нужно максимальное значение, типа:
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
привяжи туда, где нужно максимальное значение, типа:
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
привяжи туда, где нужно максимальное значение, типа:
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
привяжи туда, где нужно максимальное значение, типа:
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
привяжи туда, где нужно максимальное значение, типа:
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
t2.id возвращается правильный но остальные данные(их, ясен пень, больше в таблице чем я указал для примера) не соответсвуют t2.id. p.s. Нет, все неправильно возвращается, не туда посмотрел. И, если я не ошибаюсь, вначале происходит группировка, а только потом из получившихся данных агрегирование в виде max. А там уже нечего к этому моменту агрегировать. Это сообщение отредактировал(а) Aver78 - 5.9.2016, 10:49 |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
... про остальные поля речи не было, о чем спросили, то вам разжевали. Задавайте новый вопрос.
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
... про остальные поля речи не было, о чем спросили, то вам разжевали. Задавайте новый вопрос.
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
... про остальные поля речи не было, о чем спросили, то вам разжевали. Задавайте новый вопрос.
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
... про остальные поля речи не было, о чем спросили, то вам разжевали. Задавайте новый вопрос.
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
... про остальные поля речи не было, о чем спросили, то вам разжевали. Задавайте новый вопрос.
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
Akina |
|
||||||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
Всё возвращается правильно:
А кто виноват, что ты спрашиваешь не то, что тебе нужно?
Огорчу... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||||
|
|||||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
... какой-то глюк - вижу свои сообщения, которые с нового Винграда по 5 раз
Это сообщение отредактировал(а) igorold - 5.9.2016, 15:55 -------------------- ... у семи нянек 14 сисек ... Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Меня так умиляют такие ответы. То есть некомпетентный ответ, данный в виде ребуса,не решающий проблему, засчитан за решение проблемы, да еще и 'разжеван' ?
Добавлено через 6 минут и 49 секунд Не поленился создал в точности таблицы как описал в примере. Действительно, возвращается правильно, значит косяк где то в более сложной структуре. Добавлено через 8 минут и 11 секунд Пытался упростить вопрос до предела. Это сообщение отредактировал(а) Aver78 - 5.9.2016, 17:10 |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
Перестарался имхо. Вангую, что тебе нужно не только максимальный ID из второй таблицы, но и другие поля из записи с этим ID. И если для решения ТАКОЙ задачи на некоторых других серверах БД ты мог воспользоваться оконными функциями, то в случае MySQL тебе скорее всего придётся использовать нарисованный выше запрос как подзапрос, и по полученной паре (id, pt_id) из ещё одной копии второй таблицы получать всю соотв. запись. И при этом крайне желательно гарантировать, что эта пара - уникальна. Впрочем, это не единственный способ - и не единственная возможная постановка задачи. Почитай FAQ: Выборка первой/последней записи в группах - авось найдёшь чего для себя интересного... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
||||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
ИМХО разумнее было сразу озвучить задачу, а не модель, а заодно и причины, по которым использование подзапросов не нравится. Уже бы давно вышли на финишную прямую... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
... а почему ты решил, что тебе должны давать готовый ответ?
Akina дал тебе направление, чтобы ты сам шевелил мозгами, причем полностью соответствующее твоему вопросу а когда мозги включишь, то умиляться не придется ... Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
... а почему ты решил, что тебе должны давать готовый ответ?
Akina дал тебе направление, чтобы ты сам шевелил мозгами, причем полностью соответствующее твоему вопросу а когда мозги включишь, то умиляться не придется ... Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
... а почему ты решил, что тебе должны давать готовый ответ?
Akina дал тебе направление, чтобы ты сам шевелил мозгами, причем полностью соответствующее твоему вопросу а когда мозги включишь, то умиляться не придется ... Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
... а почему ты решил, что тебе должны давать готовый ответ?
Akina дал тебе направление, чтобы ты сам шевелил мозгами, причем полностью соответствующее твоему вопросу а когда мозги включишь, то умиляться не придется ... Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
... а почему ты решил, что тебе должны давать готовый ответ?
Akina дал тебе направление, чтобы ты сам шевелил мозгами, причем полностью соответствующее твоему вопросу а когда мозги включишь, то умиляться не придется ... Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |