|
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Find første record pr dag ASP MSSQL Fra : Brian Wolter |
Dato : 10-06-06 19:31 |
|
Jeg har en MS SQL Database. (Version 8 hvis det har betydning)
Den indeholder f.eks tbl_navn
Navn Dato Tal
Knud 10-06-2006 18:34:37 100
Knud 10-06-2006 19:24:59 25
Benny 10-06-2006 20:34:59 11
Knud 10-06-2006 21:01:03 45
Knud 10-06-2006 22:11:43 75
Knud 11-06-2006 12:54:37 110
Knud 11-06-2006 19:26:49 25
Benny 11-06-2006 20:34:59 14
Knud 11-06-2006 21:01:03 25
Benny 11-06-2006 21:34:52 26
Knud 11-06-2006 22:11:31 85
Hvordan kan jeg finde den første række for hver dag ?
Altså så jeg får dette resultatsæt
Knud 10-06-2006 18:34:37 100
Benny 10-06-2006 20:34:59 11
Knud 11-06-2006 12:54:37 110
Benny 11-06-2006 20:34:59 14
Der er også et forløbende ID pr række hvis det kan gavne noget.
Jeg skal også lave en query der finder den sidste række pr "Navn" pr "Dato",
men den query giver vel sig selv når jeg kan finde den første.
På forhånd tak for hjælpen.
Brian Wolter
| |
Jørn Andersen (11-06-2006)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Jørn Andersen |
Dato : 11-06-06 02:40 |
|
On Sat, 10 Jun 2006 20:31:03 +0200, "Brian Wolter"
<brian@mitefternavn.dk> wrote:
>
>Jeg har en MS SQL Database. (Version 8 hvis det har betydning)
>
>Den indeholder f.eks tbl_navn
>
>Navn Dato Tal
>Knud 10-06-2006 18:34:37 100
>Knud 10-06-2006 19:24:59 25
>Benny 10-06-2006 20:34:59 11
>Knud 10-06-2006 21:01:03 45
>Knud 10-06-2006 22:11:43 75
>Knud 11-06-2006 12:54:37 110
>Knud 11-06-2006 19:26:49 25
>Benny 11-06-2006 20:34:59 14
>Knud 11-06-2006 21:01:03 25
>Benny 11-06-2006 21:34:52 26
>Knud 11-06-2006 22:11:31 85
>
>
>Hvordan kan jeg finde den første række for hver dag ?
>
>Altså så jeg får dette resultatsæt
>Knud 10-06-2006 18:34:37 100
>Benny 10-06-2006 20:34:59 11
>Knud 11-06-2006 12:54:37 110
>Benny 11-06-2006 20:34:59 14
>
>
>Der er også et forløbende ID pr række hvis det kan gavne noget.
Nu kender jeg ikke MS SQL, men i Access, ser det ud til at virke med:
SELECT DISTINCTROW First(tbl_navn.ID) AS FirstOfID, tbl_navn.Navn,
First(tbl_navn.Tal) AS FirstTal, First(tbl_navn.Dato) AS FirstDato
FROM tbl_navn
GROUP BY tbl_navn.Navn, Format$([tbl_navn].[Dato],'Long Date')
ORDER BY First(tbl_navn.ID);
Problemet er, at du vil gruppere efter dato, men samtidig have vist
den fulde tid. Derfor skal der laves en gruppering på Dato-værdien af
din dato-tid.
Det er her gjort med FormatDate, som er en indbygget funktion i
Access, men hvis det er anderledes i MSSQL, må du tilrette.
>Jeg skal også lave en query der finder den sidste række pr "Navn" pr "Dato",
>men den query giver vel sig selv når jeg kan finde den første.
Udskift FIRST med LAST, så skulle den virke.
Good luck!
--
Jørn Andersen,
Brønshøj
| |
Brian Wolter (11-06-2006)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Brian Wolter |
Dato : 11-06-06 21:57 |
|
"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:9urm82hlk6ngnkcasmnie7l1kqcp93ciog@4ax.com...
> On Sat, 10 Jun 2006 20:31:03 +0200, "Brian Wolter"
> <brian@mitefternavn.dk> wrote:
>
>>
>>Jeg har en MS SQL Database. (Version 8 hvis det har betydning)
>>
>>Den indeholder f.eks tbl_navn
>>
>>Navn Dato Tal
>>Knud 10-06-2006 18:34:37 100
>>Knud 10-06-2006 19:24:59 25
>>Benny 10-06-2006 20:34:59 11
>>Knud 10-06-2006 21:01:03 45
>>Knud 10-06-2006 22:11:43 75
>>Knud 11-06-2006 12:54:37 110
>>Knud 11-06-2006 19:26:49 25
>>Benny 11-06-2006 20:34:59 14
>>Knud 11-06-2006 21:01:03 25
>>Benny 11-06-2006 21:34:52 26
>>Knud 11-06-2006 22:11:31 85
>>
>>
>>Hvordan kan jeg finde den første række for hver dag ?
>>
>>Altså så jeg får dette resultatsæt
>>Knud 10-06-2006 18:34:37 100
>>Benny 10-06-2006 20:34:59 11
>>Knud 11-06-2006 12:54:37 110
>>Benny 11-06-2006 20:34:59 14
>>
>>
>>Der er også et forløbende ID pr række hvis det kan gavne noget.
>
> Nu kender jeg ikke MS SQL, men i Access, ser det ud til at virke med:
> SELECT DISTINCTROW First(tbl_navn.ID) AS FirstOfID, tbl_navn.Navn,
> First(tbl_navn.Tal) AS FirstTal, First(tbl_navn.Dato) AS FirstDato
> FROM tbl_navn
> GROUP BY tbl_navn.Navn, Format$([tbl_navn].[Dato],'Long Date')
> ORDER BY First(tbl_navn.ID);
>
> Problemet er, at du vil gruppere efter dato, men samtidig have vist
> den fulde tid. Derfor skal der laves en gruppering på Dato-værdien af
> din dato-tid.
> Det er her gjort med FormatDate, som er en indbygget funktion i
> Access, men hvis det er anderledes i MSSQL, må du tilrette.
>
>>Jeg skal også lave en query der finder den sidste række pr "Navn" pr
>>"Dato",
>>men den query giver vel sig selv når jeg kan finde den første.
>
> Udskift FIRST med LAST, så skulle den virke.
>
>
> Good luck!
>
> --
> Jørn Andersen,
> Brønshøj
Tak for hjælpen. Det vil jeg prøve i morgen.
/Brian
| |
|
|