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


Räkna ut en posts placering om man sorterar efter bokstavsordning

Postades av 2004-11-24 09:07:56 - Johan Svensson, i forum asp - allmänt, Tråden har 10 Kommentarer och lästs av 445 personer

Vi utgår från att jag vet en posts id-värde (värdet i tabellen "id") och att jag vill veta denna posts placering om man skulle lista denna post i en bokstavsordningslista som man listar efter värdet som finns i tabellen "namn". Jag vill bara att man skall räkna med de poster som har samma värde i tabellen "typ som den post jag vill veta placeringen på har i tabellen "typ". Hur gör jag detta?

Jag vill alltså inte skriva ut listan utan bara räkna ut vilken placering posten skulle få i en sådan lista.


Svara

Sv: Räkna ut en posts placering om man sorterar efter bokstavsordning

Postades av 2004-11-24 09:38:15 - Johan Djupmarker

Tror det ska fungera såhär:
SELECT COUNT(*) FROM tabell WHERE Namn <= (SELECT Namn FROM Tabell WHERE Id = x)

Tänk på att det blir "fel" när två personer har samma namn...

/Johan


Svara

Sv: Räkna ut en posts placering om man sorterar efter bokstavsordning

Postades av 2004-11-24 11:44:22 - Ola Lindfeldt

Detta borde funka bättre? :)

SELECT count(*)+1 from Kund
WHERE Namn < (SELECT Namn FROM Kund WHERE id = 8)


Svara

Sv: Räkna ut en posts placering om man sorterar efter bokstavsordning

Postades av 2004-11-24 13:24:25 - Johan Djupmarker

<b>Detta borde funka bättre? :)

SELECT count(*)+1 from Kund
WHERE Namn < (SELECT Namn FROM Kund WHERE id = 8)</b>

Varför är det "bättre"? Det handlar väl mer om hur man vill hantera dubletter i namn. I mitt exempel får alla dubletter den högsta förekomstens placering, i ditt den lägsta. Eller har jag skrivit fel i mitt exempel?

/Johan


Svara

Sv: Räkna ut en posts placering om man sorterar efter bokstavsordning

Postades av 2004-11-24 19:03:30 - Johan Svensson

Kanske var lite otydlig eller skrev helt fel. Det är inte två tabeller utan snarere tre kolumner i databasen.poster. Kolumnerna är id, typ och namn.

Det är typ detta jag vill göra:

SELECT count(*)+1 from poster WHERE typ=3 and *räkna bara fram tills kommer till den post där id=X* Order by Namn


Svara

Sv: Räkna ut en posts placering om man sorterar efter bokstavsordning

Postades av 2004-11-24 19:58:31 - Ola Lindfeldt

>> Varför är det "bättre"?

Därför att det inte blir fel när det finns dubletter i namn.
Tänk dig att det finns flera dubletter, innan "Svensson". Vad händer då? Du hamnar på fel rad.
Dessutom är min SQL snabbare eftersom jag undviker en subquery :)








Svara

Sv: Räkna ut en posts placering om man sorterar efter bokstavsordning

Postades av 2004-11-24 19:59:08 - Ola Lindfeldt

Johan S. OK häng på det då?


Svara

Sv: Räkna ut en posts placering om man sorterar efter bokstavsordning

Postades av 2004-11-24 20:15:49 - Johan Svensson

jag vet inte hur man skriver detta i SQL-form:
*räkna bara fram tills kommer till den post där id=X*


Svara

Sv: Räkna ut en posts placering om man sorterar efter bokstavsordning

Postades av 2004-11-25 08:10:59 - Johan Djupmarker

<b>jag vet inte hur man skriver detta i SQL-form:</b>

Har du testat mitt eller Olas förslag? Det gör nämligen det förutom tillägget med typ du skrev nu...

JohanD:
SELECT COUNT(*) FROM poster WHERE Namn <= (SELECT Namn FROM poster WHERE Id = 8) AND typ=3

Ola:
SELECT count(*)+1 from poster WHERE Namn < (SELECT Namn FROM poster WHERE id = 8) AND typ=3

/Johan


Svara

Sv: Räkna ut en posts placering om man sorterar efter bokstavsordning

Postades av 2004-11-25 08:24:20 - Johan Djupmarker

<b>Därför att det inte blir fel när det finns dubletter i namn.
Tänk dig att det finns flera dubletter, innan "Svensson". Vad händer då? Du hamnar på fel rad.</b>

Fel och fel, det är två olika sätt att "räkna" på. Det beror lite på vad man ska använda resultatet till vilken metod man bör använda.

Säg att vi har 5 personer, Andersson, Johansson, Johansson, Johansson och Svensson

Resultatet blir då:
<info>
Ola JohanD
Andersson 1 1
Johansson 2 4
Johansson 2 4
Johansson 2 4
Svensson 5 5
</info>


<b>Dessutom är min SQL snabbare eftersom jag undviker en subquery :)</b>

Hur

SELECT COUNT(*) FROM poster WHERE Namn <= (SELECT Namn FROM poster WHERE Id = 8) AND typ=3

kan ha en extra subquery jämfört med

SELECT count(*)+1 from poster WHERE Namn < (SELECT Namn FROM poster WHERE id = 8) AND typ=3

har jag lite svårt att förstå, men är det något jag missat är jag intresserad av att lära mig det.

/Johan


Svara

Sv: Räkna ut en posts placering om man sorterar efter bokstavsordning

Postades av 2004-11-25 13:16:26 - Ola Lindfeldt

JohandD:
<info>
Ola JohanD
Andersson 1 1
Johansson 2 4
Johansson 2 4
Johansson 2 4
Svensson 5 5
</info>

Position 2 är mer rätt och mer användbart, anser jag :)
(ja det beror på vad man ska ha det till men oftast vill man nog ha den första som matchar)

Ang subquery: nej, du har rätt.. det är ju samma sak (jag funderade över en annan lösning men jag fick inte ihop den och jag har glömt det nu :)


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

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 570 783
27 960
271 761
970
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