Avatar billede k_jr Nybegynder
10. februar 2009 - 17:49 Der er 6 kommentarer og
1 løsning

SELECT hvor antal > 4

Hej eksperter

Forestil jer en brugertabel og en kommentartabel...

users {
  id: int auto_inc osv
  name: text
}

comments {
  id: int auto_inc osv
  title: text
  author: int fk (-> users.id)
}

Kan man så vælge alle brugere, der har oprettet fx 2 eller flere kommentarer? Og hvordan...`?

mvh
Avatar billede bjawnie Nybegynder
10. februar 2009 - 17:59 #1
Jeg arbejder ikke så meget med MySql længere, men sådan lidt fra hoften vil jeg tro det følgende virker:

SELECT u.name
FROM users AS u
WHERE (SELECT COUNT(*) FROM comments WHERE id = u.id) >= 2
Avatar billede bjawnie Nybegynder
10. februar 2009 - 18:04 #2
Hov havde lige overset dit author felt. Så det burde være:

SELECT u.name
FROM users AS u
WHERE (SELECT COUNT(*) FROM comments WHERE author = u.id) >= 2
Avatar billede k_jr Nybegynder
10. februar 2009 - 18:05 #3
Fedt. Det virkede!

Ved du så om der sådan er noget i al generelhed man skal være opmærksom på mht subselects på den måde? (version, begrænsninger, særheder, etc)?

(smid svar :P)
Avatar billede arne_v Ekspert
10. februar 2009 - 18:09 #4
Et alternativ er:

SELECT users.name,COUNT(*) AS n
FROM users,comments
WHERE users.id=comments.author\
GROUP BY users.name
HAVING n >= 2
Avatar billede arne_v Ekspert
10. februar 2009 - 18:09 #5
(uden den backslash)
Avatar billede k_jr Nybegynder
10. februar 2009 - 18:15 #6
Tak for det arne_v, men bjawnies løsning passer bedre ind.. :-)
Avatar billede bjawnie Nybegynder
10. februar 2009 - 18:22 #7
Hej,

Der skulle ikke være nogle umiddelbare problemer så længe man ikke overdriver brugen af dem.
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