У меня есть таблица (MyTable) с 3 столбцами; Номер, Строка, Сумма.
Если номер совпадает с более чем тремя записями, я хочу вернуть эти записи, сгруппированные по номеру. В противном случае я хочу, чтобы все записи были сгруппированы по номерам и линиям.Group By Count и поле в том же запросе
Это то, что я получил до сих пор. Это дает ошибку, как линия должна быть в агрегированной функции
select * (
select Number, (case when count(Line) > 3 then -1 else Line end) as Line2, sum(Amount)
from MyTable
group by Number, Line2
) as x
order by x.Number
MyTable выглядит примерно так:
Number Line Amount
------------------------
1 1 100
1 1 100
1 2 200
1 2 200
2 1 150
2 1 150
3 1 300
3 2 350
Я хочу результат выглядеть примерно так:
Number Line2 Amount
------------------------
1 -1 600 <- More than 3 lines
2 1 300 <- Grouped by Line
3 1 300
3 2 350
является отрицательным значением по умолчанию? – Sherlock