Zliczanie konkretnych wierszy

Zliczanie konkretnych wierszy
MU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 57
0

Witam, nie wiem za bardzo jak ugryźć ten temat. Mam w zapytanie SQL pogrupowane kolumny jak w załączniku.
Chcę aby dla danej grupy NrOrder potem dla danej grupy SalesRep, dla takiego samego CustomerName i takiej samej godziny do wiersza zostało przypisane 0 a gdy CustomerName nie jest taki sam w kolejnym wierszu to zwracamy 1.
Celem jest obliczenie ile w danym czasie zostało złożonych zamówień (ale nie dla takich samych klientów występujących w kolejnych wierszach)
W jakiś sposób muszę pewnie użyć count ale nie za bardzo wiem jak. Nie chcę używać Row_Number, no chyba że nie będzie wyjścia.

Załączam plik excel z wynikiem jaki chcę uzyskać.

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3902
1

Nie wiem dlaczego pierwszy wiersz ma 0 bo to jest tylko jedno zamówienie dla niepowtarzającego się klienta, jeżeli to pomyłka to nie wiem po co w ogóle wyciągać tych którzy nas nie interesują bo łatwiej policzyć tych co chcemy:

Kopiuj

select 
    SalesRep
    ,Hour
    ,Count(*) ilezamowien
from (
    select 
	   nrOrder
	   , SalesRep
	   , CustomerName
	   , Hour 
	from 
	   tt
    group by 
	   nrOrder, SalesRep, CustomerName, Hour
    having 
	   count(customerName) = 1
    ) dt
group by
    SalesRep
    ,Hour
DB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 36
1

Może po prostu to zgrupować jeszcze raz i wtedy masz pojedyncze rekordy czyli sprzedaż.

Kopiuj
SELECT
	NrOrder
	SalesRep
	Customer
	Hour
FROM
	TABELA
GROUP BY
	NrOrder
	SalesRep
	Customer
	Hour

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.