С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/29: Рейтинг темы: голосов - 29, средняя оценка - 4.55
2 / 2 / 0
Регистрация: 23.09.2017
Сообщений: 88

Оптимизировать запрос по получению самого дорогого автомобиля

13.03.2022, 10:49. Показов 6366. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть таблица с моделями и ценами автомобилей.
Задача - получить самую дорогую модель.

В моем понимании - идеальное решение такое

SQL
1
2
3
SELECT TOP(1) model
  FROM table_money
  ORDER BY price DESC
Но если самых дорогих автомобилей несколько, оно покажет только один.
Я пробовал решить эту проблему через RANK, но не преуспел.

Поэтому пока мое решение предусматривает подзапрос:
SQL
1
2
3
4
SELECT model
  FROM table_money
  WHERE price = 
    (SELECT MAX(price) FROM table_money)
Возможно ли написать запрос, который в такой ситуации покажет несколько моделей, но не будет дважды сканировать базу?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.03.2022, 10:49
Ответы с готовыми решениями:

Указать марку самого дорогого и самого дешёвого автомобиля
Здравия желаю, товарищи программисты! Я хотел бы попросить у вас помощи в задаче с массивами и был бы рад если Вы мне ее окажете) Задача...

Определить цену самого дорогого автомобиля
Создать базу данных "Автомобиль", включающую: ФИО владельца, стоимость, марка и номер автомобиля. Количество записей в базе должно быть не...

Вывести стоимость самого дорогого автомобиля, проданного компанией "Рено"
напишите программу которая выведить стоимость самого дорогого ввто , проданного компанией Рено , если Что за месяц продали 15 автомобилей....

11
5958 / 4534 / 1094
Регистрация: 29.08.2013
Сообщений: 28,141
Записей в блоге: 3
13.03.2022, 11:11
Цитата Сообщение от Sibil Посмотреть сообщение
оно покажет
кто оно?)))
ты ставишь условие
Цитата Сообщение от Sibil Посмотреть сообщение
TOP(1)
и выводится 1 строка

Цитата Сообщение от Sibil Посмотреть сообщение
но не будет дважды сканировать базу?
сначала нужно получить максимальное значение, потом нужно найти эти значения в базе
как иначе должен работать запрос?
0
2 / 2 / 0
Регистрация: 23.09.2017
Сообщений: 88
13.03.2022, 11:22  [ТС]
Цитата Сообщение от qwertehok Посмотреть сообщение
ты ставишь условие и выводится 1 строка
Это я понимаю)
Это я и пытался обойти с помощью RANK - но там нельзя поставить where RANK = 1, иначе бы всего вопроса не было.

Цитата Сообщение от qwertehok Посмотреть сообщение
сначала нужно получить максимальное значение, потом нужно найти эти значения в базе
Я не настаиваю совершенно на том, что такой способ есть.
Я спрашиваю у более опытных коллег, есть ли он.
0
5958 / 4534 / 1094
Регистрация: 29.08.2013
Сообщений: 28,141
Записей в блоге: 3
13.03.2022, 11:27

Не по теме:

Все мы сильно отличаемся по тому, насколько часто используем в своей устной и письменной речи местоимения первого лица единственного (то есть, «я») и множественного числа («мы»). Ранее ученые полагали, что это определенная привычка, над которой мы порой не имеем сознательного контроля. Теперь новое исследование немецких ученых показало, что те, кто чаще других употребляют в речи местоимение «я», больше подвержены депрессии и испытывают больше проблем в общении

Портал психологических новостей PsyPress.ru — https://psypress.ru/articles/26349.shtml [Употребление "я" и "мы" в речи как показатель депрессии]



Цитата Сообщение от Sibil Посмотреть сообщение
есть ли он
гуглить нужно самому

SQL
1
2
3
4
SELECT Name FROM(
  SELECT Name,rank() OVER(ORDER BY Salary DESC) N
    FROM tbl_Employee
) A WHERE N=1
SQL
1
2
3
SELECT Name
FROM tbl_Employee
WHERE Salary >= ALL(SELECT isnull(salary,0) FROM tbl_Employee)
0
2 / 2 / 0
Регистрация: 23.09.2017
Сообщений: 88
13.03.2022, 11:32  [ТС]
qwertehok, оба этих решения предусматривают подзапрос
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
13.03.2022, 11:49
Лучший ответ Сообщение было отмечено Sibil как решение

Решение

Цитата Сообщение от Sibil Посмотреть сообщение
Возможно ли написать запрос, который в такой ситуации покажет несколько моделей, но не будет дважды сканировать базу?
T-SQL
1
2
3
SELECT TOP(1) with ties model
  FROM table_money
  ORDER BY price DESC
1
2 / 2 / 0
Регистрация: 23.09.2017
Сообщений: 88
13.03.2022, 11:56  [ТС]
invm, это гениально!!!
Спасибо большое, не знал про такой трюк!
0
13.03.2022, 12:15

Не по теме:

воистину, справку нужно читать и перечитывать
100 раз читал про TOP, а слона и не увидел(

0
1721 / 1513 / 165
Регистрация: 25.07.2015
Сообщений: 2,605
13.03.2022, 15:29
Цитата Сообщение от qwertehok Посмотреть сообщение
Все мы сильно отличаемся по тому.....

Не по теме:

Не по теме:

Местоимение "я" чаще всего используют люди не уверенные в себе.
Хотя теория из вами приведённой статьи тоже имеет право на жизнь ))Она скорее из серии " английские учёные доказали..."
Хотя , очень часто , люди используют это местоимение просто априори, не задумываясь о том , как это увидят другие.



Добавлено через 23 минуты
qwertehok,

Не по теме:

Моя драгоценная Лапушка , с которой мы прожили 35 вместе , которая сопливая 19- летняя
девочка меня после Афганской войны восстанавливала...она до сих пор со всеми "Я" -кает.
Есть знакомая , которая за своим мужем к нам в Баграм помчалась (не отвечал на письма , спецназ ГРУ, волновалась)
Теперь муж не иначе как математик, а мы с ней иногда разговоримся о нашем полку.... Как она туда пробралась - молчит))
Тоже "Я"-кает...Но мне и оправить не ловко.. Тоже и боль за плечами, и муж подстрелянный...но ведь она , как и моя..
Жизнь- такая жизнь, классическая психология курит в сторонке ))

0
13.03.2022, 16:16

Не по теме:

Цитата Сообщение от Kulma Посмотреть сообщение
Она скорее из серии " английские учёные доказали..."
а там действительно ссылка на статью английских ученых)))

0
0 / 0 / 0
Регистрация: 29.07.2022
Сообщений: 1
29.07.2022, 20:10
SQL
1
2
3
4
SELECT model
FROM table_money
ORDER BY price DESC
LIMIT 1
0
5958 / 4534 / 1094
Регистрация: 29.08.2013
Сообщений: 28,141
Записей в блоге: 3
29.07.2022, 21:11
Fate__pv, ты не посмотрел что это за СУБД? в MSSQL limit нет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.07.2022, 21:11
Помогаю со студенческими работами здесь

Определить стоимость самого дорогого и самого дешевого блюда
3. «Ресторан1». Имеются рецепты N блюд, в которых указаны какие продукты и в каком количестве необходимы для приготовления каждого...

Дан список поставщиков товара. Найти поставщика самого дешевого и самого дорогого товара.
За границу поступает один и тот же товар из разных городов. Составить программу, которая обеспечивает ввод данных и поиск города,...

Лекарства: составить правила определения хотя бы одного самого дорогого и хотя бы одного самого дешевого препарата
В аптечном складе хранятся лекарства. Сведения о лекарствах содержатся в специальной ведомости: наименование лекарственного препарата;...

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

Найти цену самого дорогого конструктора
Сформирована переменная bibl, содержащая сведения об игрушках - название игрушки, ее стоимость, возрастные границы. Найти цену самого...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru