Gå til innhold

SQL-string... DISTINCT... LAST...


Anbefalte innlegg

Eksempeltabell:

 

id - navn - epost - kommentar

1 - Henning - [email protected] - KommentarTekst1

2 - Lise - [email protected] - KommentarTekst2

3 - Henning - [email protected] - KommentarTekst3

4 - Knut - [email protected] - KommentarTekst4

5 - Henning B - [email protected] - KommentarTekst5

 

Resultatet jeg ønsker:

2 - Lise - [email protected] - KommentarTekst2

4 - Knut - [email protected] - KommentarTekst4

5 - Henning B - [email protected] - KommentarTekst5

 
Det er mange år siden jeg sist drev med SQL, så jeg trenger litt hjelp.
 
Det jeg ønsker i sql, er at den lister opp alle poster, men at den printer ut en liste der siste kommentar pr epost.
 
Håper noen med litt sql-kunnskaper kan svare... 
Endret av GamEpaL
Lenke til kommentar
Videoannonse
Annonse

Håper noen med litt norskkunnskaper kunne spørre, hadde jeg nær sagt :o) ... dette gir ikke mening i mitt hode: "... men at den printer ut en liste der siste kommentar pr epost."

 

Det kan se ut som du ønsker kun én rad pr. person, og der hvor det er flere rader for samme person i tabellen, skal bare den med den nyeste kommentarteksten tas med? I såfall skjønner jeg ikke hvorfor radene til "Henning" er utelatt helt. Men "Henning" og "Henning B" er kanskje samme person? De har jo samme epost-adresse, men hvorfor skal de opptre med forskjellig navn avhengig av kommentar? Og hvordan identifisere hva som er "siste"? Desto større id, desto nyere? Det funker ,det, så lenge nye rader ikke gjenbruker id'er til slettede rader, men det beste hadde vært en timestamp til formålet. 

 

Dette burde også vært normalisert; Kommentarer burde vært skilt ut i en egen tabell, det er ingen grunn til å repetere navn og epost for hver rad.


select * from person_test pt
where pt.id = (select max(ptl.id) from person_test ptl where ptl.email = pt.email)

Evt. kan det gjøres med join.

Lenke til kommentar

det var sent på kvelden og ja... jeg mangler noen norsk-kunnskaper... så hyggelig at du nevner dette... Synd at du måtte lese den dårlige norsken og at det var vanskelig for deg, dette beklager jeg på det dypeste.

 

Når jeg opplever slike ting, så spør jeg hva personen mener på en hyggeligere måte. Mange har faktisk komplekser for slike ting, men dette har kanskje ikke du menneskeforståelse og empati til å forstå.

 

Men takk for svaret, jeg skal teste dette ut. Neste gang skal jeg skrive bedre, slik at du blir fornøyd og glad... ha en fin dag.

 

- - - -

 

Jeg testet ut spørringen du foreslo. Den ga kun dette svaret;

 

5 - Henning B - [email protected] - KommentarTekst5

 

- - - -

 

Jeg er enig i at spørsmålet var dårlig stilt.

 

Det jeg ønsker med spørringen er å få frem den siste posten pr epost. Jeg vet at jeg kan gjøre dette med å sette et datostempel pr melding, men dette ønsker jeg kun å gjøre som siste utvei.

Endret av GamEpaL
Lenke til kommentar

Det er det spørringen gir, forutsatt en tabell med dette innholdet

1;"Henning";"[email protected]";"KommentarTekst1"
2;"Lise";"[email protected]";"KommentarTekst2"
3;"Henning";"[email protected]";"KommentarTekst3"
4;"Knut";"[email protected]";"KommentarTekst4"
5;"Henning B";"[email protected]";"KommentarTekst5"


Edit: Og med "det" så mener jeg altså

2;"Lise";"[email protected]";"KommentarTekst2"
4;"Knut";"[email protected]";"KommentarTekst4"
5;"Henning B";"[email protected]";"KommentarTekst5"


(ikke så lett med disse språk-greiene ...)

Endret av quantum
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...