ФорумРазработкаБазы данных → Запрос по дереву на максимальное количество потомков

Запрос по дереву на максимальное количество потомков

  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 22 декабря 2008 г. 9:59

    Нужно получить узел с максимальным количеством потомков. Дерево - самое обычное (id, super_id).

    Пока пришел к такому:
    SELECT "super_id", COUNT(*)
    FROM "unit"
    GROUP BY "super_id"
    ORDER BY 2 DESC
    ROWS 1
    (цифра "2" в [tt]ORDER BY[/tt] - это номер поля в списке select, т.е. [tt]COUNT(*)[/tt]. Просто хз почему, но если ставлю алиас, выдает ошибку).

    Работает, но как-то подозрительно криво выглядит. Может кто-нибудь знает вариант по-лучше? Что-то типа [tt]MAX(COUNT(*))[/tt]
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 22 декабря 2008 г. 10:02, спустя 2 минуты 48 секунд

    Почему криво? Вполне нормально.
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 22 декабря 2008 г. 12:08, спустя 2 часа 6 минут 11 секунд

    может такое что нить будет интересно, хз

    SELECT user, MAX(salary) AS max_salary FROM users
    GROUP BY user HAVING max_salary>10;


    может поможет)
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!