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

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Tricky SQL-sætning
Fra : Steen


Dato : 09-09-02 20:49

Hej NG

Jeg har en Access2000-database med ca. 400 entries. Hvert entry (hver række)
har 7 kolonner, en for hver ugedag. Hvis entry 22 bliver tilgået en onsdag
øges værdien af række 22 kolonne "onsdag" med 1.

Nu vil jeg gerne selecte de ti mest tilgåede entries i løbet af hele ugen.
Dvs. jeg vil selecte de "TOP 10" entries, hvor man+tir+ons+tor+fre+lør+søn
er højest. MAX()-funktionen lægger sammen over flere rækker i samme
kolonne - jeg har brug for en funktion, der lægger sammen over flere
kolonner i samme række.

Ideer modtages med kyshånd.

Mvh Steen



 
 
Mark S. Rasmussen (09-09-2002)
Kommentar
Fra : Mark S. Rasmussen


Dato : 09-09-02 21:40

> Ideer modtages med kyshånd.

Jeg har ingen anelse om det er SQL Server specifikt. Men virker
[felt]+[felt2] ikke?

Mvh Mark

---
Postet via www.improve.dk


Jakob Andersen (09-09-2002)
Kommentar
Fra : Jakob Andersen


Dato : 09-09-02 21:38

"Steen" <nospam@nospam.dk> wrote
> Jeg har en Access2000-database med ca. 400 entries. Hvert entry (hver
række)
> har 7 kolonner, en for hver ugedag. Hvis entry 22 bliver tilgået en onsdag
> øges værdien af række 22 kolonne "onsdag" med 1.
>
> Nu vil jeg gerne selecte de ti mest tilgåede entries i løbet af hele ugen.
> Dvs. jeg vil selecte de "TOP 10" entries, hvor man+tir+ons+tor+fre+lør+søn
> er højest. MAX()-funktionen lægger sammen over flere rækker i samme
> kolonne - jeg har brug for en funktion, der lægger sammen over flere
> kolonner i samme række.

SELECT TOP 10 (Man + Tirs + Ons + Tors + Fre) AS total FROM <tabel> ORDER BY
total DESC

--
Jakob Andersen



Steen (10-09-2002)
Kommentar
Fra : Steen


Dato : 10-09-02 09:12

"Jakob Andersen" <jakob@effectus.dk> wrote:

> SELECT TOP 10 (Man + Tirs + Ons + Tors + Fre) AS total FROM <tabel> ORDER
BY
> total DESC

Ja, det er jo meget godt, men jeg kan jo ikke nøjes med tallene, jeg skal jo
også have de tilhørende id-numre og titler, og

SELECT TOP 10 (mon+tue+wed+thu+fri+sat+sun),id,titel AS total FROM sider
ORDER BY total DESC

virker ikke.

Mvh Steen



Jens Gyldenkærne Cla~ (10-09-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 10-09-02 09:25

Steen skrev:

> SELECT TOP 10 (mon+tue+wed+thu+fri+sat+sun),id,titel AS total
> FROM sider ORDER BY total DESC

Prøv at flytte "as total" frem til dit beregnede felt. Lige nu
omdøber du bare titelfeltet i resultatsættet.

Du har ikke sagt noget om hvordan det "ikke virker". Hvis du får et
postsæt - som bare er sorteret forkert - kan du nøjes med at flytte
"as total" som beskrevet ovenfor. Men jeg kan forestille mig at
Access (hvis det altså drejer sig om Access) fejler fordi den ikke
kender feltnavnet "total" der står i ORDER BY-delen. Så vidt jeg
husker kan man ikke benytte alias-felter her. Prøv i stedet med:

SELECT TOP 10 (mon+tue+wed+thu+fri+sat+sun) as total,id,titel
FROM sider ORDER BY (mon+tue+wed+thu+fri+sat+sun) DESC

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Steen (10-09-2002)
Kommentar
Fra : Steen


Dato : 10-09-02 13:03

"Jens Gyldenkærne Clausen" <jens@gyros.invalid> wrote

> SELECT TOP 10 (mon+tue+wed+thu+fri+sat+sun) as total,id,titel
> FROM sider ORDER BY (mon+tue+wed+thu+fri+sat+sun) DESC

Fuldstændig korrekt, jeg kan ikke bruge "total" til at sortere efter.

1.000 tak til alle for de hurtige og gode svar; nu virker det hele som det
skal

Mvh Steen



Jakob Andersen (10-09-2002)
Kommentar
Fra : Jakob Andersen


Dato : 10-09-02 09:25

"Steen" <nospam@nospam.dk> wrote
> Ja, det er jo meget godt, men jeg kan jo ikke nøjes med tallene, jeg skal
jo
> også have de tilhørende id-numre og titler, og
>
> SELECT TOP 10 (mon+tue+wed+thu+fri+sat+sun),id,titel AS total FROM sider
> ORDER BY total DESC

SELECT TOP 10 id, titel (mon+tue+wed+thu+fri+sat+sun) AS total FROM sider
ORDER BY total DESC

--
Jakob Andersen



Steen (10-09-2002)
Kommentar
Fra : Steen


Dato : 10-09-02 11:33

"Jakob Andersen" <jakob@effectus.dk> wrote

> SELECT TOP 10 id, titel (mon+tue+wed+thu+fri+sat+sun) AS total FROM sider
> ORDER BY total DESC

Hvad er det i grunden der afgør, hvad TOP 10 henvender sig til? Det der står
først eller sidst, eller hvad man har efter ORDER BY?

Mvh Steen



Tobias Hinnerup (10-09-2002)
Kommentar
Fra : Tobias Hinnerup


Dato : 10-09-02 12:25


"Steen" <nospam@nospam.dk> wrote in message news:alkhpr$4tr$1@sunsite.dk...
> "Jakob Andersen" <jakob@effectus.dk> wrote
>
> > SELECT TOP 10 id, titel (mon+tue+wed+thu+fri+sat+sun) AS total FROM sider
> > ORDER BY total DESC
>
> Hvad er det i grunden der afgør, hvad TOP 10 henvender sig til? Det der står
> først eller sidst, eller hvad man har efter ORDER BY?

ORDER BY

/Tobias



Jens Gyldenkærne Cla~ (10-09-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 10-09-02 12:29

Steen skrev:

> Hvad er det i grunden der afgør, hvad TOP 10 henvender sig
> til? Det der står først eller sidst, eller hvad man har efter
> ORDER BY?

Det hele. TOP 10 betyder "vælg de 10 første rækker". Hvilke rækker
der udvælges afhænger alene af sorteringen (ORDER BY). Det giver
ikke mening at tale om (TOP 10 brugerID) eller lignende. Uanset
hvor mange eller få felter der er med i forespørgslen vil det være
de samme rækker der er tale om.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

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

Månedens bedste
Årets bedste
Sidste års bedste