Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/34: Рейтинг темы: голосов - 34, средняя оценка - 4.65
0 / 0 / 0
Регистрация: 08.09.2013
Сообщений: 12
1

Запрос с выбором наибольших значений

01.10.2013, 04:33. Показов 6116. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день
Помогите правильно доделать запрос:

есть 2 таблицы: table_1 и table_2 с общим ключевым столбцом (id)

id name name_1 id num
1 Иванов Иван 1 200
2 Петров Петр 2 10
3 Сидоров Сидор 2 112
3 5
3 250
3 200

запросом :SELECT DISTINCT table_1.name, table_2.num FROM table_1,table_2 Where table_1.id=table_2.id

получаем таблицу:
Иванов 200
Петров 10
Петров 112
Сидоров 5
Сидоров 250
Сидоров 200

вопрос: каким образом доделать этот запрос чтобы по каждой фамилии (по каждому id) выводило только наибольшее значение num ? вот так:
Иванов 200
Петров 112
Сидоров 250

Спасибо !!!

Добавлено через 3 минуты
немного таблицы перекосило - правильно так :


table_1

id name name_1
1 Иванов Иван
2 Петров Петр
3 Сидоров Сидор


table_2

id num
1 200
2 10
2 112
3 5
3 250
3 200
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2013, 04:33
Ответы с готовыми решениями:

Найти сумму наибольших значений строк и произведение наименьших значений столбцов матрицы
Дана действительная матрица размера MxN. Найти сумму наибольших значений элементов ее строк, а...

Выбор 5 наибольших значений с использованием макросов
Здравствуйте, уважаемые форумчане, никак не могу придумать как сделать и главное чтобы работало...

Выбор нескольких наибольших значений из столбца
Добрый день! помогите пожалуйста со следующим вопросом: Есть столбец с числовыми значениями....

Найти сумму 2 наибольших значений в массиве
Ищу сумму 2 наибольших значений в массиве введенном с клавы(z). Надо чтобы а и б не были взяты с...

6
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
01.10.2013, 05:00 2
select max(col_name) from table_name;

Добавлено через 1 минуту
У вас id не для того используются. id должно быть уникальным для записи (строки) в таблице.
0
0 / 0 / 0
Регистрация: 08.09.2013
Сообщений: 12
01.10.2013, 05:13  [ТС] 3
id это то с помощью чего я соединяю данные из таблиц

в первой таблице - это уникальное значение - а во второй может быть несколько.
мне именно так надо. только не могу понять насчет MAX - где его в моем запросе поставить ?
подскажите если можно

Добавлено через 1 минуту
мне надо все фамилии чтобы были - только из второй таблицы чтобы для каждой фамилии брало строку с наибольшим значением столбца NUM

Добавлено через 51 секунду
id надо именно так использовать - это правильно
0
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
01.10.2013, 05:38 4
MySQL
1
SELECT DISTINCT table_1.name, max(table_2.num) FROM table_1,table_2 Where table_1.id=table_2.id
так попробуйте

Добавлено через 10 минут
Если не помог предыдущий пример, попробуйте так:
MySQL
1
SELECT DISTINCT table_1.name, table_2.num FROM table_1, table_2 Where table_1.id = table_2.id AND table_2.num in (select max(table_2.num) form table_2)
1
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
01.10.2013, 08:14 5
Что ж вы тпк к DISTINCT-то привязались... Не пойму...
MySQL
1
2
3
4
select a.name,max(b.num)
from table1 a
join table2 b on b.id=a.id
group by a.name;
Можно group by a.id, если сортировать по фамилиям не надо
1
0 / 0 / 0
Регистрация: 08.09.2013
Сообщений: 12
02.10.2013, 08:00  [ТС] 6
попробовал оба варианта оба работают - спасибо
0
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
02.10.2013, 08:02 7
0
02.10.2013, 08:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2013, 08:02
Помогаю со студенческими работами здесь

Сумма наибольших значений элементов матрицы
Дана действительная матрица размера m*n. Найти сумму наибольших значений элементов её строк.

Невозрастание значений наибольших элементов строк
const n = 3; m = 3; var a:array of integer; i,j,p,min,max,z:integer; begin writeln('...

Поиск заданного количества наибольших значений
Найти заданное количество наибольших значений массива. using System; using...

Найти n наибольших уникальных значений в массиве
Найти n наибольших уникальных значений в массиве, вот моя корявая попытка, не могу понять как...


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

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