1. SQL / Говнокод #13009

    −175

    1. 1
    IF(SUM(ordreceivedsuccess)/COUNT(ordreceivedsuccess)=1,1,0)

    -- Такая вот авторская версия FLOAT()

    Запостил: DIX315, 16 Мая 2013

    Комментарии (6) RSS

    • Диалект сикеля - аксесс чтоли?
      Сама запись по себе гавно, но не могу понять мысль в описании.
      Это проверка на тип данных? Что-то вроде FLOAT или INT?
      А то сумма поля равна количеству строк в нем во многих случаях, например 2; 0; 1; 3; 0; 0; 1
      Ответить
      • SUM/COUNT - среднее арифметическое
        Но, судя по ...success, поле логическое (0/1)?
        Ответить
        • Походу проверяют, что поле во всех строках равно единичке. Аля sum(ordreceivedsuccess) = count(ordreceivedsuccess).
          Ответить
          • P.S. В постгресе можно было бы так: every(ordreceivedsuccess).
            Ответить
    • Сорри, не FLOAT(), а FLOOR()
      Ответить
      • Да какой же это floor, если он возвращает только 0 и 1?
        Ответить

    Добавить комментарий