Avatar billede vraa Nybegynder
09. juni 2005 - 17:11 Der er 5 kommentarer og
2 løsninger

7 select count for hver dag i aktuelle uge

Jeg har en db med en dato tabel og nogle tabeller. Jeg ønsker at laver 7 forespørgsler på min db som starter fra alle poster registreret mandag i den aktuelle uge, dernæst tirsdag i den aktuelle uge, onsdag osv... frem til søndag. Der er til én statistik tabel i der viser besøgende i pågældende uge.

Nogen gode forslag?
Avatar billede barklund Nybegynder
09. juni 2005 - 23:15 #1
Hvis det er tabellen "tabel(dato DATETIME)", så kan det gøres:

SELECT DAYOFWEEK(dato) AS nr, DAYNAME(dato) AS ugedag, COUNT(*) AS antal_om_dagen FROM tabel WHERE WEEK(dato, 1) = WEEK(NOW(), 1) GROUP BY nr ORDER BY nr

Så er det altså kun en query og ikke 7 - det håber jeg er i orden :)

--
Morten Barklund
Avatar billede vraa Nybegynder
10. juni 2005 - 10:23 #2
Hvis jeg kører den forespørgsel og putter det ind i en reader får jeg kun onsdag, torsdag og fredag med. Og det er fredag idag. Kan det passe?
Avatar billede barklund Nybegynder
14. juni 2005 - 23:23 #3
Så skal jeg lige se din præcise query og også gerne din tabel struktur og data i denne. Så kan jeg sikkert sige noget klogt (eller trække mine ord i mig)
Avatar billede vraa Nybegynder
18. juni 2005 - 17:43 #4
Jeg fandt en anden løsning.

Fandt frem til mandag i den aktuelle uge således:

DateTime dt = DateTime.Now;
while(dt.DayOfWeek != DayOfWeek.Monday) dt = dt.AddDays(-1);

...og arbejdede ud derfra med adddays()

Men læg et svar så deler vi :-)
Avatar billede barklund Nybegynder
26. juni 2005 - 15:28 #5
Finfin :)
Avatar billede vraa Nybegynder
27. juni 2005 - 09:41 #6
Lukker
Avatar billede barklund Nybegynder
27. juni 2005 - 09:46 #7
Tark for points
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester