На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! информация о разделе
user posted imageДанный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ.

Модераторы: Pr0[)!9Y, Akina, JoeUser
  
> Исправить костыль, в запросе mysql
    Приветствую!

    Что-то временной перерывчег пользования SQL меня притупил. Нужно было челу помочь с запросом - я помог. Но решение какое-то костыльное получилось. Просьба исправить. Вот запрос, который выводит нужную выборку:

    ExpandedWrap disabled
      SELECT
        P.ProductName,
        P.Price
      FROM
        Products AS P,
        (
          SELECT
            AVG(T.Price) AS PriceA
          FROM Products AS T
        ) AS A
      WHERE
        P.Price > A.PriceA
        AND
        P.Price < 33
      ORDER BY
        P.Price ASC;


    Чуйка подсказывает, что как-то костыльно выглядит. Можно красивше сделать? :-?
    Мои программные ништякиhttp://majestio.info
      В чём костыль-то?
      Ну и - такие вещи как бы диалекто-зависимы, так что или вопрос задавай в соотв. разделе, или указывай версию СУБД.
      Есть претензии ко мне как к модератору? читайте Правила, разделы 5 и 6, и действуйте соответственно.
      Есть претензии ко мне как к участнику? да ради бога.
      Не нравятся мои ответы? не читайте их.
      В общем, берегите себя. Нервные клетки не восстанавливаются.
        Цитата Akina @
        указывай версию СУБД

        MySQL 5.6

        Добавлено
        Цитата Akina @
        В чём костыль-то?

        Без вложенного селекта никак? Через HAVING как-то?
        Мои программные ништякиhttp://majestio.info
          Цитата JoeUser @
          Через HAVING как-то?

          Нельзя. Надо сначала просканировать всю таблицу дла подсчета среднего значения, а потом использовать ето значение для второго просмотра таблицы.
          Мои религиозные убеждения не позволяют мне комментировать код.
          Моё мировоззренье таково: в программе комментария ни одного!
            Цитата MIF @
            Нельзя.

            Лан, вопрос закрываю. Да, именно так.
            Мои программные ништякиhttp://majestio.info
            1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script Execution time: 0,0817 ]   [ 15 queries used ]   [ Generated: 6.12.19, 08:16 GMT ]