powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Поиск второго по максимальности значения в таблице
25 сообщений из 62, страница 1 из 3
Поиск второго по максимальности значения в таблице
    #32602020
Sibiryak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Как построить запрос, чтобы находило максимальное значение в таблице, второе по максимуму (даже если оно равно максимальному значению). Спасибо заранее
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602041
Collins
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насколько я понимаю, нужно возвращать только одно это число?
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602051
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- Упорядочить выборку по [искомое поле] DESC + [PK] ASC
- Пронумеровать выборку в этом порядке ( FAQ Q7)
- Выбрать записть с номером 2

Это так - набросок :)
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602058
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2-мя запросами мона. Через join и where null
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602060
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DECLARE @SecMax int

SELECT Top 2 @SecMax=Data FROM MyTbl Order By Data DESC

Хотя может в переменную не надо

тогда подзапросом

SELECT Top 1 sqrd.Data
FROM (SELECT Top 2 Data FROM MyTbl Order By Data DESC) sqrd
Order By sqrd.Data
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602062
Фотография andj25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SibiryakЗдравствуйте! Как построить запрос, чтобы находило максимальное значение в таблице, второе по максимуму (даже если оно равно максимальному значению). Спасибо заранее

сделать сортировку по возрастанию или по убыванию :)) и взять 2 или предпоследнее значении соответственно :)
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602064
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Темный2-мя запросами мона. Через join и where null
Наспор одним зделаю?
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602065
Sibiryak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CollinsНасколько я понимаю, нужно возвращать только одно это число?

Нет, мне еще среднее между ними найти надо. Ну, если одинакове, значит, одно получится :)
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602068
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LatukDECLARE @SecMax int

SELECT Top 2 @SecMax=Data FROM MyTbl Order By Data DESC

Хотя может в переменную не надо

тогда подзапросом

SELECT Top 1 sqrd.Data
FROM (SELECT Top 2 Data FROM MyTbl Order By Data DESC) sqrd
Order By sqrd.Data
Дык - этож T-SQL
А если у чела mdb?
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602069
Sibiryak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
paparome Темный2-мя запросами мона. Через join и where null
Наспор одним зделаю?

Слушай, дорогой, спорить не буду. Если сделаешь - герой в моих глазах будешь
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602081
Sibiryak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andj25 SibiryakЗдравствуйте! Как построить запрос, чтобы находило максимальное значение в таблице, второе по максимуму (даже если оно равно максимальному значению). Спасибо заранее

сделать сортировку по возрастанию или по убыванию :)) и взять 2 или предпоследнее значении соответственно :)
Спасибо, только скажи как это сделать, если max и predmax у меня много (таблица товаров с разной ценой: молоко - 10р, молоко - 11р ..., кефир -12 р, кефир - 12.50...)
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602086
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>на спор
Тут по любому надо два запроса. И если писать всякие трюки и функции, их меньше не станет:-)
Select top 1 f1 From (Select Top 2 f1 From t1 order by desc f1) order by f1
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602094
Sibiryak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shark>на спор
Тут по любому надо два запроса. И если писать всякие трюки и функции, их меньше не станет:-)
Select top 1 f1 From (Select Top 2 f1 From t1 order by desc f1) order by f1
Простите великодушно, но SQL я еще не выучил. Можно ли описать, как это стандартными средствами Access делать (в Конструкторе запросов).
Мне стыдно, но...
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602098
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выбираешь там Вид SQL и копируешь туда текст отсюда, заменяя своими полями и таблицами
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602101
Sibiryak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Темныйвыбираешь там Вид SQL и копируешь туда текст отсюда, заменяя своими полями и таблицами
Спасибо, я тормознул опять
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602112
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Нет, мне еще среднее между ними найти надо
Среднеарифметическое?

SELECT Sum(sqrd.Data )/2
FROM (SELECT Top 2 Data FROM MyTbl Order By Data DESC) sqrd

>Дык - этож T-SQL
>А если у чела mdb?
Мальчик-девочка Какая в Ж"№у разница?
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602120
Sibiryak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Latuk>Нет, мне еще среднее между ними найти надо
Среднеарифметическое?

SELECT Sum(sqrd.Data )/2
FROM (SELECT Top 2 Data FROM MyTbl Order By Data DESC) sqrd

>Дык - этож T-SQL
>А если у чела mdb?
Мальчик-девочка Какая в Ж"№у разница?

Среднеарифметическое
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602123
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sibiryak paparome Темный2-мя запросами мона. Через join и where null
Наспор одним зделаю?

Слушай, дорогой, спорить не буду. Если сделаешь - герой в моих глазах будешьТестовых данных не дал - теперь сам разбирайся, как это работает :)
Код: plaintext
1.
2.
3.
4.
select t1.val
from tbl as t1 left join tbl as t2
on ((t1.val < t2.val) or ((t1.val = t2.val) and (t1.id < t2.id)))
group by t1.id, t1.val
having count(t2.val) =  1 ;
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602128
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Latuk>Нет, мне еще среднее между ними найти надо
Среднеарифметическое?

SELECT Sum(sqrd.Data )/2
FROM (SELECT Top 2 Data FROM MyTbl Order By Data DESC) sqrd

>Дык - этож T-SQL
>А если у чела mdb?
Мальчик-девочка Какая в Ж"№у разница?
А ты в хелпе прочитай, что там про TOP и ORDER BY написано (внизу мелким шрифтом) - и поймешь в чем разница
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602139
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paparome, не жмотись, напиши, чего за грабли?
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602149
Фотография andj25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paparome
....

Код: plaintext
1.
2.
3.
4.
select t1.val
from tbl as t1 left join tbl as t2
on ((t1.val < t2.val) or ((t1.val = t2.val) and (t1.id < t2.id)))
group by t1.id, t1.val
having count(t2.val) =  1 ;


такс ... а теперь моно подробне чо тут и как?
t1.val - это что?
t2 - а это ?
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602156
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Темныйpaparome, не жмотись, напиши, чего за грабли?
f1 влом нажать?
хелпВозвращает определенное число записей, находящихся в начале или в конце диапазона, описанного с помощью предложения ORDER BY.
Следующая инструкция SQL позволяет получить список 25 лучших студентов выпуска 1996 года:
SELECT TOP 25
Имя, Фамилия
FROM Студенты
WHERE ГодВыпуска = 1996
ORDER BY СреднийБалл DESC;
Если предложение ORDER BY будет опущено, запрос возвратит произвольный набор 25 записей из таблицы "Студенты", удовлетворяющих предложению WHERE.
Предикат TOP не осуществляет выбор между равными значениями. Если в предыдущем примере средние балы двадцать пятого и двадцать шестого студента будут равны, то запрос возвратит 26 записей.
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602160
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага. Влом. Винды убитые - надо чистить. Акс грузится минуты 2 :)
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602166
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Загрузил. Посмотрел. Запрос Latuk работает. Не понимаю.
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602170
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andj25
такс ... а теперь моно подробне чо тут и как?
t1.val - это что?
t2 - а это ?
t1 и t2 это алиасы одной таблы tbl (т.е. самосвязывание)
val (от value) - искомое значение (поле в котором ищем)
id - первичный ключ

PS: Я ж говорю, что нет тестовой структуры данных - вот и обозвал поля и таблицу, как мне захотелось
...
Рейтинг: 0 / 0
25 сообщений из 62, страница 1 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Поиск второго по максимальности значения в таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]