Оператор агрегирования умножения в SQL

Отметьте различия.

Дизайн , управляемый контрактом. Заключите контракт Управляемый , Дизайн .

Разрабатывает управляемый тестом. Протестируйте Управляемый Разработка .

Они связаны, в котором предшествует другому. Они описывают программное обеспечение на разных уровнях абстракции.

Вы отбрасываете дизайн, когда Вы переходите к реализации? Вы полагаете, что документ дизайна является нарушением DRY? Вы поддерживаете контракт и код отдельно?

программное обеспечение является одной реализацией контракта. Тесты - другой. Руководство пользователя является одной третью. Руководство по работе является одной четвертью. Резервное копирование базы данных / процедуры восстановления является одной частью реализации контракта.

я не вижу никакой служебный от Дизайна Контракта.

  • , Если Вы уже делаете дизайн, тогда Вы изменяете формат от слишком многих слов до просто правильных слов для выделения договорных отношений.

  • , Если Вы не делаете дизайна, затем составляя договор, устранит проблемы, уменьшая стоимость и сложность.

я не вижу потери гибкости.

  1. запускаются с контракта,

  2. тогда

    a. тесты записи и

    код записи b.

Видят, как эти два опытно-конструкторских разработок по существу переплетены, и оба происходят из контракта.

27
задан Shadowed 28 December 2018 в 10:43
поделиться

2 ответа

Нет, но вы можете использовать математику:)

, если yourColumn всегда больше нуля:

select EXP(SUM(LOG(yourColumn))) As ColumnProduct from yourTable
25
ответ дан 28 November 2019 в 04:24
поделиться

Использование CTE в MS SQL:

CREATE TABLE Foo(Id int, Val int)
INSERT INTO Foo VALUES(1, 2), (2, 3), (3, 4), (4, 5), (5, 6)

;WITH cte AS 
(
    SELECT Id, Val AS Multiply, row_number() over (order by Id) as rn
    FROM Foo
    WHERE Id=1
    UNION ALL
    SELECT ff.Id, cte.multiply*ff.Val as multiply, ff.rn FROM
    (SELECT f.Id, f.Val, (row_number() over (order by f.Id)) as rn
    FROM Foo f) ff
        INNER JOIN cte
        ON ff.rn -1= cte.rn
)
SELECT * FROM cte
0
ответ дан 28 November 2019 в 04:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: