/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MSSQL: ugedage i et view
Fra : Kasper Katzmann


Dato : 20-06-04 21:20

Jeg har en tabel med et felt(AccessDate) der automatisk bliver udfyldt med
GetDate() når der bliver indsat en ny post.

Jeg kunne godt tænke mig at lave et view der viser hvor mange indlæg der er,
fordelt på ugedage. Men jeg er helt blank.

Har prøvet det her:
SELECT DATEPART(dw, AccessDate) AS weekday, COUNT(DATEPART(dw,
AccessDate)) AS hits
FROM dbo.StatsUser
GROUP BY AccessDate

Men det giver bare '1' i hits ud for alle ugedagene.
Kan man ikke gøre det på en fiksere måde?

Det jeg vil opnå, er lidt A'la det her:
-------------------
| weekday | hits |
-------------------
| Mandag | 73 |
| Tirsdag | 42 |
| Onsdag | 53 |
| Torsdag | 12 |
| Fredag | 39 |
| Lørdag | 7 |
| Søndag | 12 |
-------------------

--
Med venlig hilsen
Kasper Katzmann
http://www.katzmann.dk



 
 
Peter Lykkegaard (20-06-2004)
Kommentar
Fra : Peter Lykkegaard


Dato : 20-06-04 22:53

"Kasper Katzmann" wrote

> Jeg kunne godt tænke mig at lave et view der viser hvor mange indlæg
der er,
> fordelt på ugedage. Men jeg er helt blank.
>
> Har prøvet det her:
> SELECT DATEPART(dw, AccessDate) AS weekday, COUNT(DATEPART(dw,
> AccessDate)) AS hits
> FROM dbo.StatsUser
> GROUP BY AccessDate

Du er lidt på sporet

SELECT
DATEPART(dw, AccessDate) AS weekday,
COUNT(*) AS hits
FROM dbo.StatsUser
GROUP BY
DATEPART(dw, AccessDate) AS weekday
ORDER BY
DATEPART(dw, AccessDate) AS weekday

Problemet er så at datepart returnere 1-7 og undlader "tomme" ugedage

For at få navnet med skal du lave lidt mere
SELECT
DATEPART(dw, AccessDate) AS WeekDay,
DATENAME(dw, AccessDate) AS WeekDayName,
COUNT(*) AS hits
FROM dbo.StatsUser
GROUP BY
DATEPART(dw, AccessDate),
DATENAME(dw, AccessDate)
ORDER BY
DATEPART(dw, AccessDate)

Det kan betale sig at lægge beregningerne op i et view

Har du ikke adgang til BOL (Books Online)?

- Peter



Kasper Katzmann (21-06-2004)
Kommentar
Fra : Kasper Katzmann


Dato : 21-06-04 06:20

....og så var det jo at Peter Lykkegaard sagde:
> For at få navnet med skal du lave lidt mere
> SELECT
> DATEPART(dw, AccessDate) AS WeekDay,
> DATENAME(dw, AccessDate) AS WeekDayName,
> COUNT(*) AS hits
> FROM dbo.StatsUser
> GROUP BY
> DATEPART(dw, AccessDate),
> DATENAME(dw, AccessDate)
> ORDER BY
> DATEPART(dw, AccessDate)
>
> Det kan betale sig at lægge beregningerne op i et view
>
> Har du ikke adgang til BOL (Books Online)?

Det virker fantastisk. Jeg har lagt det i et view da jeg jo helst vil have
sql serveren til at udføre arbejdet fremfor mine asp-sider.

Jo jeg har adgang til BOL og det var også der jeg havde fundet frem til den
smule jeg selv havde forsøgt mig med.

--
Med venlig hilsen
Kasper Katzmann
http://www.katzmann.dk



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste