Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Det näst bästa resultatet.(LÖST)

Postades av 2002-04-15 07:28:52 - Benni Svensson, i forum access, Tråden har 12 Kommentarer och lästs av 943 personer

Att ta fram det bästa resultatet i en fråga i ACCESS är ju enkelt. Det är ju bara att välja function och MAX. Men hur gör man för att få tag på det NÄST BÄSTA RESULTATET.
Tacksam för svar.
Benni


Svara

Sv: Det näst bästa resultatet.

Postades av 2002-04-15 09:51:18 - Lars Berg

select max(resultat) from ogrish where resultat < (select max(resultat) from ogrish)


Svara

Sv: Det näst bästa resultatet.

Postades av 2002-04-15 13:41:33 - Emma Magnusson

Vill du ha de två bästa så kan du använda SELECT TOP 2 * FROM ....

/Emma


Svara

Sv: Det näst bästa resultatet.

Postades av 2002-04-15 16:42:46 - Benni Svensson

Det är som så att det är en väldigt komplex SQL, så jag tänkte låta ACCESS få kompilera den själv.
Vad jag behöver är detta:

BästSv1: Min(OOM([PlaceringSv]>0;[PlaceringSv];0))
Det här skrivs in i fälten på frågan, så fixar ju ACCESS resten.
Frågan är, hur skall jag taänka??
Den första delen skall vara kvar:

BästSv1: Min(OOM([PlaceringSv]>0;[PlaceringSv];
Sen måste det komma en ny oomfunktion så att jag kan få det näst bästa resultatet.

Förstår ni???



Svara

Sv: Det näst bästa resultatet.

Postades av 2002-04-15 21:52:17 - Benni Svensson

Den bör kunna se ut så här, men jag får ett fel på den.

BästSv1: Min(OOM([PlaceringSv]>0;[PlaceringSv];(OOM(select min([PlaceringSv]) from t_datum where [PlaceringSv] < (select min([PlaceringSv]) from t_datum;0)))))

Felet jag får säger att omfunctionens agrument måste omges av paranteser, men jag tycker att jag har fått tillräckligt många.
Någon???


Svara

Sv: Det näst bästa resultatet.

Postades av 2002-04-15 22:24:41 - Andreas Hillqvist

Som Emma säger använd top istället för oom för guds skull!!!

strSQL = "SELECT TOP 2 [t_datum].* FROM [t_datum] ORDER BY [t_datum].[PlaceringSv]"


Svara

Sv: Det näst bästa resultatet.

Postades av 2002-04-15 22:41:07 - Benni Svensson

Tack för din omtanke, men du missupfatar mig.
Efter som det totalt är en väääääääääldigt lång SQL-sträng, så är det bäst att låta ACCESS få göra SQL-strängen. För att göra detta så behöver jag fixa till den oom-functionen.


Svara

Sv: Det näst bästa resultatet.

Postades av 2002-04-16 10:22:49 - Andreas Hillqvist

Låt mig fråga dig vad du vill åstakomma, skall du använda fråga till ett formulär, raport eller vid export? Hur din databas ser ut? Vilka värden kall PlaceringSv ha? Vilka tabeller är inblandande hur ser relationerna ut mellan tabellerna om det är flera?

ÄR det så att du vill inkludera det näst högsta resultatet som en kolumn i en anna stor sql fråga? Så jag uppfatade dig.

Tänk på att OOM (en IIF) funktionen är en vbfunktion. Vilket kommer kräva alla parametrar till anropet från databas motorn. Att dessutom använda flera underfråger för detta är ungefär som att försöka få frågan att ta så lång tid som möjligt.


Svara

Sv: Det näst bästa resultatet.

Postades av 2002-04-18 10:49:16 - Benni Svensson

Eftersom jag nu sitter på jobbet så kan jag nog inte ge dig exact alla uppgifter.
Bakgrund.
Jag följer placering av sångtitlar, placerade i lista i Sverige, Europa och övriga Världen.
Tabeller av intresse är t_songtitlar(där songtitel bl a ligger lagrad) och t_datum(där datum, bästSv,bästEu,bästVärlden ligger lagrade(som tal)).
Att få tag på bäst, sämst medel är inga problem, så länge som värdet är över 0 dvs 1 eller stärre.
Problemet blir när t ex 'Despite All' har följande värde (oavset datum)

Datum bästSv bästEu bästVärlden
2001-12-01 0 0 0
2001-12-02 152 482 0
2001-12-03 69 328 0
2001-12-04 4 129 458


Detta är ju enbart för att illustrera var problemen ligger. Tar man då min(som då blir det bästa resultatet) så tar datorn fram 0, 0 är ju ett bättre tal än 1(datorn börja ju att räkna vid 0)
I detta fallet så säger datorn:
min(bästSv) = 0
max(bästSv)=152

Förstår ni problemen nu?


Svara

Sv: Det näst bästa resultatet.

Postades av 2002-04-18 12:48:33 - Emma Magnusson

Använd top2-satsen hämta den dit du ska presentera resultatet. Kolla
om den första positionens resultat > 0 om ja -> använd den, annars
använd tvåan... Kan du få mer än en nolla tillbaka (vilket du undiker
genom att använda distinct) hämta så många poster du tror dig behöva
och hoppa bara över dem där resultat är = 0.

/Emma


Svara

Sv: Det näst bästa resultatet.

Postades av 2002-04-18 23:23:46 - Andreas Hillqvist

Var det inte svårar än så? Lägg bara till ett vilkor att den inte skall inkludera 0 värden.


Föreslår oxå att du ändrar data strukturen till:

Datum Lista Placering
2001-12-01 Sv 0
2001-12-01 Eu 0
2001-12-01 Världen 0
2001-12-02 Sv 152
2001-12-02 Eu 482
2001-12-02 Världen 0
2001-12-03 Sv 69
2001-12-03 Eu 328
2001-12-03 Världen 0
2001-12-04 Sv 4
2001-12-04 Eu 129
2001-12-04 Världen 458

Fördelen är att datastrukturen då är "dynamisk" *Du kan lägga till ändra och ta bort lister utan att behöva uppdatera, lägga till eller ta bort kolumner.

För att lista resultatet skulle frågan se ut:

SELECT Datum, Lista, Min(Placering) As Lägsta, Avg(Placering) As Medel, Max(Placering) As Högsta
FROM TabellNamn
WHERE Placering > 0
GROUP BY Datum, Lista


Svara

Sv: Det näst bästa resultatet.

Postades av 2002-04-22 08:27:35 - Benni Svensson

Tack för förslaget.
Nja enkelt, teoretiskt kanske men databasen innehöll över 500 poster. Nu hade inte alla titlar något värde i bästVärlden, men det blir ändå att mata in ca: 1200-1300 poster.
Redan nu så märker jag ju att du har alldeles rätt, så jag tror nog att jag slipper dessa problem i fortsättning.

Dock, eftersom jag nu är tvungen att helt bygga om min VB-applikation, så lär jag komma tillbaka med mera frågor.

Tack för all hjälp


Svara

Sv: Det näst bästa resultatet.

Postades av 2002-04-29 10:09:46 - Benni Svensson

Efter ett antal enformiga dagar, med enbart inmatning av gammal data, så har jag fixat till det.
Den fungerar till och med bättre än vad jag har kunnat drömma om.
Just nu så ser jag inga problem, men tack för all hjälp.


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 616
27 953
271 709
5 497
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies