На основе данных выборки мы получаем результат:
DECLARE @Rest int = 1000;
WITH VTE AS (
SELECT *
FROM (VALUES(1,'DateA','DateB',214),
(2,'DateA','DateB',100),
(3,'DateA','DateB',200),
(4,'DateA',NULL,NULL)) V(TestID,[Start],[End],Testtime))
SELECT VTE.TestID,
VTE.Start,
VTE.[End],
VTE.Testtime,
CASE WHEN [End] IS NOT NULL THEN SUM(VTE.Testtime) OVER (ORDER BY VTE.TestID ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) END AS TotalTime,
CASE WHEN [End] IS NOT NULL THEN @Rest - SUM(VTE.Testtime) OVER (ORDER BY VTE.TestID ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) END AS RestTime
FROM VTE;
Обратите внимание, что вам, вероятно, нужно реализовать какой-то тип PARTITION BY
в предложении OVER
, но я понятия не имею, что это должно быть основано на ограниченных данных, которые мы имеем.
Я не использую его, что часто, но инструмент с самым высоким отношением великолепия к тому, чтобы быть мало известным должен быть точкой, которая является инструментом для рисования ориентированных графов, который является частью комплекта Визуализации Графика AT&T. Хороший вывод в качестве примера является их родословной Unix.
Уже перечисленный, но я должен упомянуть TextMate. Я использую Mercurial или Hg ежедневно.
Vim и PrintFile. Весь PrintFile делает распечатать текст и файлы PostScript, любой, какой путь я хочу их (включая вырезание и вклейку).
Моими фаворитами является Блокнот ++, который я использую для ВСЕГО, что это не перенесено в проект Visual Studio и маленький макрос в Visual Studio, которая превращает c# объявление переменной в основное свойство. Оба просты, но о так очень полезны!
- ANT
- Mylyn
- TortoiseSVN
- firebug (think console too!)
- TextMate
Мне нужно большинство инструментов при кодировании для сети, что-либо еще обычно просто текстовый редактор.
для сети:
Большинство уже было перечислено здесь, таким образом, я не повторюсь. Вот пара новых.
Липкие примечания дополнение VS
psValidation (Моя собственная Библиотека классов Проверки, Главным образом RegEx)
Действительно знает, что каждый зависит от Шпаклевки?, я действительно не знаю то, с чем я сделал бы это
Это - язык не инструмент, но это является маленьким и еще известным: язык программирования Lua. Я не могу жить без него, и это постепенно перемещает мой sh, ksh, awk, и сценарии жемчуга... Одна метка гения: символ ESC для шаблонов поиска строки отличается от символа ESC для заключенных в кавычки строк. Больше никакой попытки понять легионы обратных косых черт!
И мои другие два фаворита являются слишком крупными, чтобы считаться маленькими :P
Интерактивный интерпретатор Python и его качавший вариант iPython являются инструментами, которые улучшили мою производительность программирования как никто другой.
Способность экспериментировать с новым кодом на лету и осмотреть объекты, классы и модули всегда, которые Вы хотите в интерактивном режиме, является просто потрясающей.
В Windows или Linux:
В Windows (и Linux, Солярис), XMLStarlet
Я понимаю, что grep и хвост известны, но он поражает меня, сколько людей думает, что это волшебно при использовании любого из них. То же самое с Vim. Я - едва продвинутый пользователь, но я могу открыть его и иметь маленький документ, завершенный, прежде чем MS Word даже открылся бы.