qualitum logo
Snitt av dom tio lägsta värdena

PHPportalen Forum Index » Databaser
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget Gå till sida 1, 2  Nästa
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
AndersL



Medlem i: 572 dagar

Status: Offline



#718651
Inlägg Skrivet: 2012-01-08 10:59      Ämne: Snitt av dom tio lägsta värdena Citera

Önskar hjälp med att få ut snittet av dom 10 lägsta värdena för varvtidms.

Denna fråga ger snittet på samtliga varvtidms i varje passnr:

SELECT AVG(varvtidms), passnr
FROM laps
GROUP BY passnr
ORDER BY passnr DESC;

Förstår att jag skall lägga in LIMIT 10, men lyckas inte få till det.

Stort tack på förhand
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Sawny



Medlem i: 1009 dagar

Status: Offline



#718659
Inlägg Skrivet: 2012-01-08 14:32      Ämne: Citera

Testa:

SELECT AVG(varvtidms), passnr
FROM laps
GROUP BY passnr
ORDER BY passnr DESC
LIMIT 10

eller

SELECT AVG(varvtidms), passnr
FROM laps
GROUP BY passnr
ORDER BY passnr DESC
LIMIT 0,10
 

_________________
HTML, CSS, PHP, JS
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
EmilV
Moderator



Medlem i: 3798 dagar
Från: Upplands Väsby
Status: Offline



#718678
Inlägg Skrivet: 2012-01-08 23:15      Ämne: Citera

KOD:
1:
SELECT AVG(varvtidms) as a, passnr
2:
FROM laps
3:
GROUP BY passnr
4:
ORDER BY
5:
  a ASC,
6:
  passnr DESC
7:
LIMIT 10;


kanske?
 

_________________
Tänk!

EmilVikström.se
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
AndersL



Medlem i: 572 dagar

Status: Offline



#718722
Inlägg Skrivet: 2012-01-09 23:31      Ämne: Citera

Tack för svaren. Dessvärre ger dom inte rätt svar. Dom ger bara 10 rader av passnr. Och jag har 100-tals olika passnr.

Jag tror att frågan skall vara något i stil med detta. Tyvärr så ger den inte rätt svar heller. Den ger bara en rad som svar. Men någon som vet bättre kanske kan hitta felet.

SELECT AVG(tmp.varvtidms) / 100
FROM (SELECT laps.varvtidms
FROM laps
GROUP BY passnr
ORDER BY laps.varvtidms LIMIT 10) AS tmp
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Wedge
Administratör



Medlem i: 3923 dagar
Från: Järfälla
Status: Offline



#718723
Inlägg Skrivet: 2012-01-10 00:22      Ämne: Citera

Medelvärde borde bli endast en rad, vad är det för fel på det?
Ska du ha många medelvärden??
 

_________________
Qualitum Webbhotell | Gomoku.se | PHP6.se
Skådebröd är fullt av optisk fiber
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
AndersL



Medlem i: 572 dagar

Status: Offline



#718754
Inlägg Skrivet: 2012-01-10 15:58      Ämne: Citera

Märker att det hela kräver en förklaring.

Varje post i tabellen (laps) innehåller bla en varvtid (varvtidms) och ett löpnr på varje körpass (passnr). Varje körpass innehåller ett antal varv (ca 25 - 75 st). Det är medelvärdet på dom 10 lägsta varvtiderna i varje körpass som jag önskar få svar på.

Enkelt kan det se ut så här:

12 s pass 1
11 s pass 1
13 s pass 1
10 s pass 2
14 s pass 2
o.s.v.

Så, som svar på frågan. Ja, jag vill ha flera medelvärden. Ett för varje körpass.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
EmilV
Moderator



Medlem i: 3798 dagar
Från: Upplands Väsby
Status: Offline



#718762
Inlägg Skrivet: 2012-01-10 19:15      Ämne: Citera

Så ungefär så här, då? (Jag har inte testat frågan)

KOD:
1:
SELECT
2:
  AVG(
3:
    SELECT varvtidms FROM laps AS l2
4:
    WHERE l2.passnr = l1.passnr
5:
    ORDER BY varvtidms ASC LIMIT 10
6:
  ) AS medeltidms,
7:
  passnr
8:
FROM laps AS l1
9:
ORDER BY passnr DESC
 

_________________
Tänk!

EmilVikström.se
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
AndersL



Medlem i: 572 dagar

Status: Offline



#718772
Inlägg Skrivet: 2012-01-10 22:44      Ämne: Citera

Tack, men dessvärre ger den Error

Det ser ju ganska bra ut och borde funka...

Lite noob fundering:
- "medeltidms", vad är tanken med den jag har inget fält som heter så.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
chrillemeter



Medlem i: 1468 dagar

Status: Offline



#718773
Inlägg Skrivet: 2012-01-10 22:48      Ämne: Citera

AndersL skrev:
Tack, men dessvärre ger den Error

Det ser ju ganska bra ut och borde funka...

Lite noob fundering:
- "medeltidms", vad är tanken med den jag har inget fält som heter så.


"medeltidms" är ett alias så du kan komma åt värdet från tex php.

Vad säger error för något?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
AndersL



Medlem i: 572 dagar

Status: Offline



#718774
Inlägg Skrivet: 2012-01-10 22:54      Ämne: Citera

Ok, tack.

Error 1064
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
EmilV
Moderator



Medlem i: 3798 dagar
Från: Upplands Väsby
Status: Offline



#718782
Inlägg Skrivet: 2012-01-11 01:27      Ämne: Citera

Säger den inget mer? Är det hela felmeddelandet? Ingen textbeskrivning, ingenting?
 

_________________
Tänk!

EmilVikström.se
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
AndersL



Medlem i: 572 dagar

Status: Offline



#718821
Inlägg Skrivet: 2012-01-11 23:36      Ämne: Citera

Får detta meddelamdet i "MySQL Query Browser" som jag använder för att testa frågor.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT varvtidms FROM laps AS l2
WHERE l2.passnr = l1.passnr
ORDER BY ' at line 3
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
chrillemeter



Medlem i: 1468 dagar

Status: Offline



#718827
Inlägg Skrivet: 2012-01-12 00:34      Ämne: Citera

Testa detta. Jag flyttade LIMIT måste komma före ORDER BY.

KOD:
1:
SELECT
2:
  AVG(
3:
    SELECT varvtidms FROM laps AS l2
4:
    WHERE l2.passnr = l1.passnr
5:
    LIMIT 10 ORDER BY varvtidms ASC
6:
  ) AS medeltidms,
7:
  passnr
8:
FROM laps AS l1
9:
ORDER BY passnr DESC
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
EmilV
Moderator



Medlem i: 3798 dagar
Från: Upplands Väsby
Status: Offline



#718829
Inlägg Skrivet: 2012-01-12 00:36      Ämne: Citera

chrillemeter skrev:
Testa detta. Jag flyttade LIMIT måste komma före ORDER BY.

Nej
 

_________________
Tänk!

EmilVikström.se
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
chrillemeter



Medlem i: 1468 dagar

Status: Offline



#718831
Inlägg Skrivet: 2012-01-12 00:42      Ämne: Citera

EmilV skrev:
chrillemeter skrev:
Testa detta. Jag flyttade LIMIT måste komma före ORDER BY.

Nej


tänkte lite fel, klart det inte gör, naturligtvis. Så det kan gå när man suttit uppe 20 h. Wink
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget Gå till sida 1, 2  Nästa
PHPportalen Forum Index » Databaser
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic
qualitum logo