26. april 2010 - 11:19Der er
4 kommentarer og 1 løsning
Problemer med AS i SQL
Jeg har en tabel pageload(url varchar(200), entrytime smalldatetime)
Jeg vil have en liste over hvor mange page loads, der har vaeret de sidste 24 timer fordelt paa timer.
DERFOR:
SELECT COUNT(*) AS n, DATEPART(hour, entrytime) AS h FROM pageload WHERE DATEDIFF(hour, entrytime, GETDATE()) < 24 GROUP BY h ORDER BY n DESC;
Men det giver en fejl:
Invalid column name 'h'
Den snakker om h i GROUP BY aabenbart for dette "virker"
SELECT COUNT(*) AS n, DATEPART(hour, entrytime) FROM pageload WHERE DATEDIFF(hour, entrytime, GETDATE()) < 24 GROUP BY DATEPART(hour, entrytime) ORDER BY n DESC;
Hvad er der galt med AS h og GROUP BY h ?? (Det er ligemeget om den hedder h eller alt muligt andet!)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
SELECT COUNT(*) AS n, DATEPART(hour, entrytime) AS h FROM pageload WHERE DATEDIFF(hour, entrytime, GETDATE()) < 24 GROUP BY DATEPART(hour, entrytime) ORDER BY n DESC;
?
I mit 2. eksempel er der ikke noget alias paa DATEPART i select, saa derfor er det svaert at faa fat i den programmatisk...
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.