Avatar billede 1416 Nybegynder
25. januar 2001 - 21:10 Der er 10 kommentarer og
1 løsning

Kun en del af feltet

Hejsa!
Hvordan gør jeg sådan, at min sql kun kigger på de 4 første karakterer i en select?

Her er min sql:
select foedselsdato, count(foedselsdato) as antal from bruger GROUP BY foedselsdato ORDER BY antal

Comprende?
Avatar billede spectual Nybegynder
25. januar 2001 - 21:16 #1
select foedselsdato, count(foedselsdato) as antal from bruger WHERE <FELTNAVN> like \'TEGN%\' GROUP BY foedselsdato ORDER BY antal

Hvor <feltnavn> er navnet på dit felt i din database og TEGN er de 4 tegn du snakker om.
Avatar billede 1416 Nybegynder
25. januar 2001 - 21:19 #2
øhhh det går ikke sammen med den sql - gør det? Jeg snakker ikke om 4 bestemte tegn, men alle tegn :-)

Den denne forspøgsel \'normalt\' udfører, er at den tæller og grupperer alle de forskellige foedselsdato´er - nu skal den så kun gruppere på året!
Avatar billede halnet Nybegynder
25. januar 2001 - 21:19 #3
\"%\" = Erstatter nul eller flere tegn.
\"_\" = Erstatter eet tegn.

- Anders
Avatar billede codebase Praktikant
25. januar 2001 - 21:28 #4
du skal bruge kommandoen LIMIT 0,4 så for du kun 4 rækker op af din tabel

-codebase
Avatar billede 1416 Nybegynder
25. januar 2001 - 21:38 #5
codebase: a hva! Læs lige spørgsmålet igen :-)

Jeg laver lige et lille eksempel:

Udsnit af tabel:
foedselsdato
1980-01-20
1979-01-01
1980-01-20
1979-01-04
1950-10-05

Lige nu returnerer min sql følgende
foedselsdato  antal
1980-01-20    2
1950-10-05    1
1979-01-04    1
1979-01-01    1

Jeg skulle gerne have:
foedselsdato  antal
1980            2
1979            2
1950            1

Er det mere forståeligt?







Avatar billede hatecaps Nybegynder
25. januar 2001 - 22:33 #6
hmm, jeg kommenterer lige for at få mail hvis der er nogen der ved hvordan man gør det..

en måde at komme omkring på problemet på ville være at ha\' et årstal felt i tabellen, og sætte det op hver gang der indsættes/ændres en record, men det ville selvfølgelig være smartere at kunne ta\' en del af en værdi i et felt :-)

ha\' det godt
hatecaps
Avatar billede erikjacobsen Ekspert
25. januar 2001 - 22:37 #7
select left(foedselsdato,4) as aar, count(*) as antal from DINTABEL group by aar
Avatar billede 1416 Nybegynder
25. januar 2001 - 22:42 #8
Han gør det igen! Mange tak ;o)
Avatar billede hatecaps Nybegynder
25. januar 2001 - 22:45 #9
*bøjer sig i støvet for Hr. Jakobsen* :-)
Avatar billede erikjacobsen Ekspert
25. januar 2001 - 22:48 #10
Så længe spørgsmålene ikke er sværere kan hr. Jacobsen (!!) godt være med endnu.
(men prøv ikke dette med en Access-DB *gg*)
Avatar billede hatecaps Nybegynder
25. januar 2001 - 23:00 #11
ooops, en flaske gammel dansk er på vej til hasselager. Det vil aldrig ske igen Hr. Jacobsen :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester