23. juni 2006 - 21:13
Der er
13 kommentarer og 1 løsning
vælg data fra nuværende uge
jeg har en masse data i en tabel, og er kommet frem til at jeg ikke kan finde ud af, at sammensætte en ordenlig SQL sætning.. :/ her er det tidsformat jeg har at arbejde med: 2006-01-28 05:37:07 Feltet i tabellen hedder 'tid'... jeg har prøvet en masse forskelligt med disse funktioner nedenunder.. men det gik ret meget i kiks... WEEKOFYEAR DATE_SUB DateAdd
Annonceindlæg fra Computerworld it-jobbank
Hvis tid er et DATETIME felt saa boer: WHERE YEAR(tid)=YEAR(NOW()) AND WEEKOFYEAR(tid)=WEEKOFYEAR(NOW()) virke
jeg får smidt fejlkode #1064 tilbage "Error: 1064 SQLSTATE: 42000 (ER_PARSE_ERROR)" her er min samlet sql sætning: SELECT * FROM table WHERE YEAR(tid)=YEAR(NOW()) AND WEEKOFYEAR(tid)=WEEKOFYEAR(NOW()) nogen idé til hvad der kan være galt ?
det ser ud til at den mysql server jeg har til rådighed er v4.0.24
jeg sad og "legede" lidt, og kom frem til noget selv.. jeg er ikke helt sikker, men kan du ikke tyde denne sætning for mig ?? SELECT * FROM table WHERE DATE_FORMAT(NOW(),'%v') < tid ORDER BY id DESC
DATE_FORMAT(NOW(),'%v') returnerer uge nummeret som tekst streng
WEEKOFYEAR kræver MySQL 4.1.1.
men WHERE YEARWEEK(tid)=YEARWEEK(NOW()) burde virke fra MySQL 3.23.8
vil det så sige at, denne er løsningen ? SELECT * FROM table WHERE YEAR(tid)=YEAR(NOW()) AND YEARWEEK(tid)=YEARWEEK(NOW())
SELECT * FROM table WHERE YEARWEEK(tid)=YEARWEEK(NOW()) da YEARWEEK inkluderer år
25. juni 2006 - 04:36
#10
det vil simpelhen sige at denne: SELECT * FROM table WHERE YEARWEEK(tid)=YEARWEEK(NOW()) vælger alt fra den aktuelle uge... cool... du må meget gerne folde et svar sammen, og svinge battet.... hehe
25. juni 2006 - 06:14
#11
kom lige i tanke om en sidste ting... hvis man nu skal hente data ud for hver uge dag, så man har en sqæ sætning for hver aktuel uge dag ?? Det er ok, med 7 sql sætninger med mig. Jeg kan godt afsætte flere ponts.
25. juni 2006 - 16:55
#12
svar
25. juni 2006 - 16:57
#13
enten SELECT ... WHERE WEEKDAY(tid)=0 UNION ... UNION SELECT ... WHERE WEEKDAY(tid)=6 eller en SELECT ... GROUP BY WEEKDAY(tid) lidt afhængig af hvordan dine data og din query er
25. juni 2006 - 20:43
#14
ok..super.. du har været til meget hjælp Arne.. takker..
Computerworld tilbyder specialiserede kurser i database-management