Avatar billede lajer Nybegynder
27. oktober 2002 - 21:42 Der er 2 kommentarer og
1 løsning

rows der er 7 dage gamle

Hejsa...

Jeg vil hive alle rows der er 7 (eller flere) dage gamle frem fra min DB. Til det har jeg forsøgt mig med følgende query:

SELECT DATE_SUB('$dato', INTERVAL 7 DAY) AS day FROM users WHERE created > day && accept=0

Når jeg fyrer den af kommer følgende fejl:

Unknown column 'day' in 'where clause'

Hvordan klarer man lige den?
Avatar billede lajer Nybegynder
27. oktober 2002 - 21:43 #1
$dato indeholder selvfølgelig dags dato i dette format: 2002-10-27
Avatar billede eagleeye Praktikant
27. oktober 2002 - 22:14 #2
Dette eks, er taget fra: http://www.mysql.com/doc/en/Date_and_time_functions.html


SELECT something FROM users WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) >= 7 AND accept=0
Avatar billede erikjacobsen Ekspert
27. oktober 2002 - 22:51 #3
Nye navne på felter, der defineres med AS, kan kun bruges
i samme forespørgsel i forbindelse med ORDER og HAVING.
Så enten skriver du hele udtrykket, eller også skriver
du HAVING creted > day.

Det er ikke det samme som WHERE. Groft sagt kan man sige
at en WHERE udføres på et meget tidligt tidspunkt - før
man f.eks. laver JOIN og GROUP BY, mens en HAVING laves
bagefter. Det kan derfor have indflydelse på udførelsestiden,
uden at jeg dog har undersøgt det - eller ved noget om det.
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