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

Это так - набросок :)
...
Рейтинг: 0 / 0
13.07.2004, 15:41:09
    #32602058
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск второго по максимальности значения в таблице
2-мя запросами мона. Через join и where null
...
Рейтинг: 0 / 0
13.07.2004, 15:41:39
    #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
13.07.2004, 15:41:54
    #32602062
andj25
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск второго по максимальности значения в таблице
SibiryakЗдравствуйте! Как построить запрос, чтобы находило максимальное значение в таблице, второе по максимуму (даже если оно равно максимальному значению). Спасибо заранее

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

Нет, мне еще среднее между ними найти надо. Ну, если одинакове, значит, одно получится :)
...
Рейтинг: 0 / 0
13.07.2004, 15:43:46
    #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
13.07.2004, 15:43:52
    #32602069
Sibiryak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск второго по максимальности значения в таблице
paparome Темный2-мя запросами мона. Через join и where null
Наспор одним зделаю?

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

сделать сортировку по возрастанию или по убыванию :)) и взять 2 или предпоследнее значении соответственно :)
Спасибо, только скажи как это сделать, если max и predmax у меня много (таблица товаров с разной ценой: молоко - 10р, молоко - 11р ..., кефир -12 р, кефир - 12.50...)
...
Рейтинг: 0 / 0
13.07.2004, 15:47:12
    #32602086
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск второго по максимальности значения в таблице
>на спор
Тут по любому надо два запроса. И если писать всякие трюки и функции, их меньше не станет:-)
Select top 1 f1 From (Select Top 2 f1 From t1 order by desc f1) order by f1
...
Рейтинг: 0 / 0
13.07.2004, 15:48:52
    #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
13.07.2004, 15:50:40
    #32602098
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск второго по максимальности значения в таблице
выбираешь там Вид SQL и копируешь туда текст отсюда, заменяя своими полями и таблицами
...
Рейтинг: 0 / 0
13.07.2004, 15:51:15
    #32602101
Sibiryak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск второго по максимальности значения в таблице
Темныйвыбираешь там Вид SQL и копируешь туда текст отсюда, заменяя своими полями и таблицами
Спасибо, я тормознул опять
...
Рейтинг: 0 / 0
13.07.2004, 15:54:08
    #32602112
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск второго по максимальности значения в таблице
>Нет, мне еще среднее между ними найти надо
Среднеарифметическое?

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

>Дык - этож T-SQL
>А если у чела mdb?
Мальчик-девочка Какая в Ж"№у разница?
...
Рейтинг: 0 / 0
13.07.2004, 15:56:24
    #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
13.07.2004, 15:56:43
    #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
13.07.2004, 15:58:38
    #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
13.07.2004, 16:01:05
    #32602139
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск второго по максимальности значения в таблице
paparome, не жмотись, напиши, чего за грабли?
...
Рейтинг: 0 / 0
13.07.2004, 16:04:48
    #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
13.07.2004, 16:07:22
    #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
13.07.2004, 16:09:04
    #32602160
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск второго по максимальности значения в таблице
Ага. Влом. Винды убитые - надо чистить. Акс грузится минуты 2 :)
...
Рейтинг: 0 / 0
13.07.2004, 16:10:52
    #32602166
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск второго по максимальности значения в таблице
Загрузил. Посмотрел. Запрос Latuk работает. Не понимаю.
...
Рейтинг: 0 / 0
13.07.2004, 16:12:15
    #32602170
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск второго по максимальности значения в таблице
andj25
такс ... а теперь моно подробне чо тут и как?
t1.val - это что?
t2 - а это ?
t1 и t2 это алиасы одной таблы tbl (т.е. самосвязывание)
val (от value) - искомое значение (поле в котором ищем)
id - первичный ключ

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


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