powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как выбрать записи с максимальными значениями одной колонки?
12 сообщений из 37, страница 2 из 2
Период между сообщениями больше года.
Как выбрать записи с максимальными значениями одной колонки?
    #38566958
shura223
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос аналогичен сабжу, только запрос с использованием group by не подойдет, так как используется внутри CTE (рекурсии).
Если конкретнее, то есть таблица с полями: ID, ObjectID, ParentID, Amount, Version. То есть дерево (связанное через ObjectID - ParentID), где для каждого узла есть свой Amount. При его изменении не меняется запись, а добавляется новая запись с инкрементированной версией. При построении дерева используется рекурсивный обход через WITH AS CTE. Если версия одна, то все нормально, а если несколько, то надо брать последнюю, но если ее определять через select max(version), ... group by ..., то выдается ошибка, что нельзя использовать group by внутри CTE. Причем неважно, что этот group by вообще никакого отношения к рекурсии не имеет.
Создать View и выбирать поля из него, вместо подзапроса с group by не предлагать, так как не желательно нарушать (добавлять, изменять) структуру таблицы.
...
Рейтинг: 0 / 0
Как выбрать записи с максимальными значениями одной колонки?
    #38566967
я только не понял, а кто мешает до построения рекурсии запросом выбрать в CTE выбрать только актуальные записи, а после по результату этого СТЕ строить второе, рекурсивное с обходом дерева?
...
Рейтинг: 0 / 0
Как выбрать записи с максимальными значениями одной колонки?
    #38566969
Фотография Ruuu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shura223,

6603924
...
Рейтинг: 0 / 0
Как выбрать записи с максимальными значениями одной колонки?
    #38568773
shura223
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эхя только не понял, а кто мешает до построения рекурсии запросом выбрать в CTE выбрать только актуальные записи, а после по результату этого СТЕ строить второе, рекурсивное с обходом дерева?
Не подскажите, как это можно сделать? Просто, как я понял, рекурсивные запросы должны начинаться со слов WITH и CTE. Собственно, то что вы посоветовали, я и пытаюсь сделать, только видимо синтаксис не тот, так как внутри рекурсии выбираю актуальные записи. Вне ее мне представляется возможным сделать это только через создание view, но в данном случае это не подходит.

Ruuushura223,

6603924
Логично представить, что все сообщения в этой теме я прочитал, перед тем как постить в нее вопрос.
...
Рейтинг: 0 / 0
Как выбрать записи с максимальными значениями одной колонки?
    #38568822
shura223,

юзабильный репрезентативный набор тестовых данных и желаемый результат на них приводи. сразу увеличится число желающих помочь тебе в решении задачи.
...
Рейтинг: 0 / 0
Как выбрать записи с максимальными значениями одной колонки?
    #38568827
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shura223как я понял, рекурсивные запросы должны начинаться со слов WITH и CTE.Что за чушь?
CTE - это просто аббревиатура англоязычного названия этой конструкции в литратуре ( C ommon T able E xpression)
...
Рейтинг: 0 / 0
Как выбрать записи с максимальными значениями одной колонки?
    #38568832
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapshura223как я понял, рекурсивные запросы должны начинаться со слов WITH и CTE.Что за чушь?
CTE - это просто аббревиатура англоязычного названия этой конструкции в литратуре ( C ommon T able E xpression)Ничто не мешает использовать эту аббревиатуру в качестве имени общего табличного выражения.
Как и любое другое допустимое слово и даже произвольный набор не более 128 символов!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как выбрать записи с максимальными значениями одной колонки?
    #39808395
pashaspashas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
код примерно такого вида будет по идее:

SELECT z.t_ID
FROM dHistoryCompGVZ_dbt z,
(SELECT MAX (y.t_systime) max_time, MAX (xx.max_) max_date
FROM dHistoryCompGVZ_dbt y,
(SELECT MAX (x.t_SysDate) max_
FROM dHistoryCompGVZ_dbt x
WHERE x.t_IDGVZ = 1) xx
WHERE y.t_IDGVZ = 1 AND y.t_sysdate = xx.max_) yy
WHERE z.t_IDGVZ = 1
AND z.t_systime = yy.max_time
AND z.t_sysdate = yy.max_date;
...
Рейтинг: 0 / 0
Как выбрать записи с максимальными значениями одной колонки?
    #39808475
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pashaspashas,

вы пять лет рожали эту несуразность? И это при условии, что правильных ответов сильно больше одного и любой - прямее вашего?
...
Рейтинг: 0 / 0
Как выбрать записи с максимальными значениями одной колонки?
    #39808476
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pashaspashasДобрый день.
код примерно такого вида будет по идее:Удивительная тема. На вопрос автора дали несколько ответов с интервалом 2-5 лет.
...
Рейтинг: 0 / 0
Как выбрать записи с максимальными значениями одной колонки?
    #39808477
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgpashaspashasДобрый день.
код примерно такого вида будет по идее:Удивительная тема. На вопрос автора дали несколько ответов с интервалом 2-5 лет.Видимо, хорошо ищется.
...
Рейтинг: 0 / 0
Как выбрать записи с максимальными значениями одной колонки?
    #39808641
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей АлексеевичalexeyvgУдивительная тема. На вопрос автора дали несколько ответов с интервалом 2-5 лет.Видимо, хорошо ищется.Ага, но плохо читается :-)
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как выбрать записи с максимальными значениями одной колонки?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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