powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Поиск второго по максимальности значения в таблице
25 сообщений из 62, страница 2 из 3
Поиск второго по максимальности значения в таблице
    #32602173
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТемныйЗагрузил. Посмотрел. Запрос Latuk работает. Не понимаю.
А ты несколько одинаковых максимальных введи!
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602191
Фотография andj25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paparome andj25
такс ... а теперь моно подробне чо тут и как?
t1.val - это что?
t2 - а это ?
t1 и t2 это алиасы одной таблы tbl (т.е. самосвязывание)
val (от value) - искомое значение (поле в котором ищем)
id - первичный ключ

PS: Я ж говорю, что нет тестовой структуры данных - вот и обозвал поля и таблицу, как мне захотелось

такс, значит получается
название таблицы - tbl
поля таблицы:
- ключ - id
- поле1 - t1
- поле2 - t2

так?
чо то не так .... а что не так?
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602198
Sibiryak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
paparome

PS: Я ж говорю, что нет тестовой структуры данных - вот и обозвал поля и таблицу, как мне захотелось

Есть таблица (одна). Называется, допустим "Товары". Есть в ней поля "Наименованме товара" и цена. Есть поле "Дата". Суть в чем. Каждый день вводятся данные по товарам. Нужно выдавать среднее значение между ценами каждого товара. (сводная информация по магазинам - цены разные везде на один и тот же товар). И выдавать информацию как за день, так и за неделю. Вот данные. Поэтому очень много повторяющихся наименований.
Да, ключевого поля в таблице нет. Если надо создать - сделаю. Эту табличку мне в Excel доставляют. Я ее импортирую в Access
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602210
йцук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
select top  1  t1.a
from t as t1
where (select count(*) from t as t2 where t1.a>=t2.a)>= 2 

правда страшно за сортировку, поэтому лучше так
Код: plaintext
1.
2.
3.
4.
select distinct * from(
select top  1  t1.a
from t as t1
where (select count(*) from t as t2 where t1.a>=t2.a)>= 2 
order by t1.a)

не нужны никакие ключи
и не страшны никакие неуникальности
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602213
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ввел. Все работает. Может это фича 2003?
1,2,3,4,5,6,5,6
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602214
йцук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще все это скотоложество
открыть рекордсет (read-only forward-only) и сделать адын шаг вперед
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602231
йцук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Темный
В 2002-м не работает (как требуется)
Сомневаюсь, что Jet разный :)
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602249
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
йцук2 Темный
В 2002-м не работает (как требуется)
Сомневаюсь, что Jet разный :)
и что по запросу выводит?
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602276
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исходный набор - 1,2,3,4,5,6,5,6
Результат запроса - 6

Исходный набор - 1,2,3,4,5,6,5
Результат запроса - 6 (мля. Пристрелите меня. Я дезу пустил)

Исходный набор - 1,2,3,4,5,6
Результат запроса - 5
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602291
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж давно я не брал в руки шашек
Бросайте вы етот MDB и айда ко мне в ADP
у меня все лучше работает и преддикаты тоже
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602768
Sibiryak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень жаль, но я так и не понял, что мне делать....
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602777
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SibiryakОчень жаль, но я так и не понял, что мне делать....
Учиться,учиться и учится! (с) В.И. Ленин
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602819
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как то в молодости прочитал историю про одного студента,который на экзамене по физике, на вопрос "как при помощи барометра измерить высоту здания" , привел с десяток экзотических методов ,например:
-Сбросить барометр с крыши и замерить время падения ...
-Спустить барометр на веревке и потом померить ее длину...
ну и.т.д
На вопрос пораженного экзаменатора, а знает ли он еще один способ, студент ответил
" Но это же тривиально..."
Код: plaintext
1.
2.
3.
select avg(MyField) as Result
from
    (select distinct top  2  MyField 
     from MyTable order by MyField desc)  as a
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602821
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А почему avg, а не min?
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602830
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sibiryak 15:30Здравствуйте! Как построить запрос, чтобы находило максимальное значение в таблице, второе по максимуму (даже если оно равно максимальному значению). Спасибо заранее
Он же 15:42Нет, мне еще среднее между ними найти надо. Ну, если одинакове, значит, одно получится :)
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602832
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если так надо все три значения
Код: plaintext
1.
2.
3.
select min(MyField) Min_Result,max(MyField) Max_Result,avg(MyField) as Avg_Result
from
    (select distinct top  2  MyField 
     from MyTable order by MyField desc)  as a
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602927
Фотография andj25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(c)VIG
....
Код: plaintext
1.
2.
3.
select avg(MyField) as Result
from
    (select distinct top  2  MyField 
     from MyTable order by MyField desc)  as a


странно, почему данный вопрос при таких данных
выдает результат "60" ?
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32602936
Фотография andj25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
упс ... сори :)) запрос
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32603009
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(100+20)/2=60
что тут странного ?
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32603020
Фотография andj25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(c)VIG Sibiryak 15:30Здравствуйте! Как построить запрос, чтобы находило максимальное значение в таблице, второе по максимуму (даже если оно равно максимальному значению). Спасибо заранее
Он же 15:42Нет, мне еще среднее между ними найти надо. Ну, если одинакове, значит, одно получится :)

я просто плохо понимаю чаво тут запрос делает :)

но человек просил (2 максимальное + максимальное)/2
а тут (2 максимальное + 3 максимальное)/2

а на последний пример access ругается грит "оператора нет"
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32603044
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял. Думал что надо два различных максимальных
Тогда так ,как предложил paparome
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32603051
Фотография andj25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(c)VIGПонял. Думал что надо два различных максимальных
Тогда так ,как предложил paparome

ну если понял :))
то поясни пожалуста
Код: plaintext
1.
2.
3.
4.
5.
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
Поиск второго по максимальности значения в таблице
    #32603203
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 andj25
Для твоего примера ключ=id, цена =val
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32603309
Фотография andj25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
select цена.val
from tbl as цена left join tbl as t2
on ((цена.val < t2.val) or ((цена.val = t2.val) and (ключ.id < t2.id)))
group by ключ.id, цена.val
having count(t2.val) =  1 ;
вот так вот должно быть?
t2 - тогда что такое?
...
Рейтинг: 0 / 0
Поиск второго по максимальности значения в таблице
    #32603330
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин - не трошай ты t1 и t2 - это алиасы одной таблицы - чтобы Акс ее от самой себя отличить смог!

Теж сказали: val замени на цена , id замени на ключ , tbl замени на имя таблицы , а t1 и t2 НЕ ТРОГАЙ!!!
...
Рейтинг: 0 / 0
25 сообщений из 62, страница 2 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Поиск второго по максимальности значения в таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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