Jak získat několik maximálních hodnot   zodpovězená otázka

C#, SQL, ADO.NET, Databáze, .NET

Ahoj,

prosím o pomoc s vytvořením dotazu na SQL Server 2005. Mám tabulku se sloupci MachineID, Time, Counter a potřebuji získat pro každou machineID aktuální Counter (záznam s nejvyšší hodnotou ve sloupci Time). Dík za každou radu.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Korelačním poddotazem?

create table #test (machineID integer, [Time] datetime, counter integer)

go

insert into #test (machineId, [Time], counter) values (1,'2008-09-01 18:45:00',1)

insert into #test (machineId, [Time], counter) values (1,'2008-09-02 18:45:00',2)

insert into #test (machineId, [Time], counter) values (1,'2008-08-02 18:45:00',5)

insert into #test (machineId, [Time], counter) values (2,'2008-09-02 18:45:00',3)

insert into #test (machineId, [Time], counter) values (2,'2008-09-03 18:45:00',4)

insert into #test (machineId, [Time], counter) values (2,'2008-09-04 18:45:00',6)

select #test.machineId, #test.counter, #test.[TIME] from

(

select vyssi.counter from #test vyssi join #test nizsi on vyssi.machineID = nizsi.machineID

where vyssi.[Time] <= nizsi.[Time]

group by vyssi.counter

having count(*) <=1

) x

join #test on x.counter = #test.counter

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Díky Petře, dotaz funguje přesně jak jsem potřeboval.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback