[MySQL] top x ophalen van meestvoorkomende IDs*

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • PublishedMeteor
  • Registratie: Juli 2011
  • Laatst online: 20:25
Beste,

Ik zit met een probleem. Ik ben bezig aan een e-card website maar zit vast met een query en heb geen idee hoe ik het moet fixen :S.

Op de homapage moet ik een query hebben die de 4 meest verstuurde e-cards voor me uit de database haalt en dan het ID van die kaart aan mij terugspeelt. Het gaat om deze tabel:
Afbeeldingslocatie: http://s14.postimage.org/e7yewykz5/table.png

Ik moet dus een query hebben die telt welke cardid's het meeste voorkomen. Hierna moet ik dan de cardid's van de 4 meest verstuurde kaarten terug kunnen krijgen.

Ik hoop dat iemand me hiermee kan helpen.

Groetjes!

Acties:
  • 0 Henk 'm!

  • Kettrick
  • Registratie: Augustus 2000
  • Laatst online: 07:46

Kettrick

Rantmeister!

Wat heb je zelf al geprobeerd ?

hint: wees eens creatief met select, count en group by :*

Acties:
  • 0 Henk 'm!

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Wat je nodig bent is GROUP BY in combinatie met COUNT. Samen met deze steekwoorden en de faq moet je een heel eind komen :)

Oops! Google Chrome could not find www.rijks%20museum.nl


Acties:
  • 0 Henk 'm!

  • DeNB3rt
  • Registratie: September 2002
  • Laatst online: 28-04 20:05
eerst met distinct om unieke kaarten eruit te halen, dan een count doen per card_id. :)
De query moet je maar ineenknutselen
select distinct card_id from tablename
SELECT count(distinct_result)

Acties:
  • 0 Henk 'm!

  • Dissi
  • Registratie: April 2009
  • Laatst online: 17:09
SELECT cardID, count(cardID) as amount FROM <tablename> GROUP BY cardID ORDER BY amount DESC

Dit zou waarschijnlijk moeten doen wat jij wilt :)

Acties:
  • 0 Henk 'm!

  • PublishedMeteor
  • Registratie: Juli 2011
  • Laatst online: 20:25
Bedankt voor alle oplossingen en tips, heb na de aanwijzingen van P_de_B eens de faq doorgelezen. Heb het nu opgelost met de volgende query:
SELECT cardid FROM sentcards GROUP BY cardid ORDER BY COUNT(cardid) DESC LIMIT 0,4
Het lijkt allemaal te werken. Als iemand een beter idee heeft hoor ik het graag!

Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Een beter idee zou zijn om jezelf te gaan verdiepen in de wondere wereld van SQL. Lees tutorials, koop boeken en verdiep je in de materie.

PRG is een subforum waar je o.a. problemen oplost met je code en niet hier komt om code af te halen.

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

  • PublishedMeteor
  • Registratie: Juli 2011
  • Laatst online: 20:25
Oke excuses voor mijn topic dan... Het kan gesloten worden want mijn vraag is opgelost!
Pagina: 1