2 / 2 / 3
Регистрация: 24.02.2013
Сообщений: 106
1

Найти такой X, для которого Y имеет максимальное значение (без подзапросов, order by и view)

28.01.2016, 07:25. Показов 1947. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Подскажите пожалуйста как решить.

таблица:
table test
id:integer
x:integer
y:integer

Данные в таблице
x y
1 3
2 4
3 2
4 5

Задача:
найти такой X, для которого Y имеет максимальное значение, без подзапросов, order by и view.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.01.2016, 07:25
Ответы с готовыми решениями:

Найти число, квадрат которого имеет максимальное значение.
Даны целые числа х1, х2, х3,....х12. Найти среди них число, квадрат которого имеет максимальное...

Найти число у которого первая цифра имеет максимальное значение
дано n целых чисел найти среди них число у которого приведенная ниже характеристика имеет...

Найти число, у которого сумма цифр имеет максимальное значение
Дано n целых чисел. Найти среди них число, у которого сумма цифр имеет макс значение. Нужно 2...

Найти среди данных чисел число, у которого сумма цифр имеет максимальное значение
Дано натуральное число N и N целых чисел. Найти среди данных чисел число, у которого сумма цифр...

8
11 / 9 / 6
Регистрация: 07.11.2013
Сообщений: 335
28.01.2016, 08:51 2
а если количество Y с максимальным значением два и более?
0
2 / 2 / 3
Регистрация: 24.02.2013
Сообщений: 106
28.01.2016, 09:22  [ТС] 3
думаю задание подразумевает все вывести, меня больше интересует как это сделать без подзапросов, order by и view
0
3330 / 2035 / 727
Регистрация: 02.06.2013
Сообщений: 5,008
28.01.2016, 10:03 4
Через derived table
T-SQL
1
2
3
4
5
6
7
select
 a.x
from
 Таблица a cross join
 (select max(y) from Таблица) b(max_y)
where
 a.y = b.max_y;
Через оконную функцию
T-SQL
1
2
3
4
5
6
7
8
with s as
(
 select
  x, y, max(y) over () as max_y
 from
  Таблица
)
select x from s where y = max_y;
Ну а если автор задания таки посчитает вышеприведенные способы за подзапросы, то
T-SQL
1
2
3
4
declare @y int;
 
select @y = max(y) from Таблица;
select x from Таблица where y = @y;
1
2 / 2 / 3
Регистрация: 24.02.2013
Сообщений: 106
28.01.2016, 11:19  [ТС] 5
приведенные способы не подходят, необходимо одним select
0
3330 / 2035 / 727
Регистрация: 02.06.2013
Сообщений: 5,008
28.01.2016, 11:49 6
Лучший ответ Сообщение было отмечено viktorius как решение

Решение

Цитата Сообщение от viktorius Посмотреть сообщение
необходимо одним select
С указанными ограничениями невозможно.
1
1109 / 754 / 182
Регистрация: 27.11.2009
Сообщений: 2,249
28.01.2016, 14:14 7
Лучший ответ Сообщение было отмечено viktorius как решение

Решение

Цитата Сообщение от invm Посмотреть сообщение
С указанными ограничениями невозможно.
Ну почему же, коллега?
Всегда можно извратиться:
T-SQL
1
2
3
4
5
6
7
8
9
10
11
DECLARE @T TABLE(x INT, y INT);
INSERT @T(x,y)VALUES
 (1, 3)
,(2, 4)
,(3, 2)
,(4, 5);
 
SELECT
 x=CAST(RIGHT(MAX(STR(y,10)+STR(x,10)),10)AS INT)
,y=CAST(LEFT (MAX(STR(y,10)+STR(x,10)),10)AS INT)
FROM @T;
Правда, будет не совсем правильно, если будет несколько максимальных y для разных x.
1
3330 / 2035 / 727
Регистрация: 02.06.2013
Сообщений: 5,008
28.01.2016, 14:37 8
Цитата Сообщение от iap Посмотреть сообщение
Ну почему же, коллега?
Всегда можно извратиться
Безусловно
0
2 / 2 / 3
Регистрация: 24.02.2013
Сообщений: 106
28.01.2016, 14:42  [ТС] 9
Цитата Сообщение от iap Посмотреть сообщение
Всегда можно извратиться:
Это на сколько умным нужно быть чтоб такое придумать

Задание было прислано от рекрутера, уже ответил не существует способа.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2016, 14:42
Помогаю со студенческими работами здесь

Найти номер столбца, среднее геометрическое положительных элементов которого имеет максимальное значение
Помогите с заданием. Найти номер столбца,среднее геометрическое положительных элементов которого...

Найти среди элементов массива тот, у которого сумма цифр имеет максимальное значение
Дан одномерный массив. Найдите среди его элементов тот, у которого сумма цифр имеет максимальное...

Массив: Найти среди элементов массива число, квадрат которого имеет максимальное значение.
Даны целые числа х1, х2, х3,....х12. Найти среди них число, квадрат которого имеет максимальное...

Дано n целых чисел, найти среди них число, у которого первая цифра имеет максимальное значение
дано n целых чисел найти среди них число у которого первая цифра имеет максимальное значение.(...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru