Gå til innhold
Presidentvalget i USA 2024 ×

Hente ut en row, og telle antall rows med samme value


Anbefalte innlegg

Heisann folkens =)

 

OK, here's the deal.

Jeg skal lage et tagging system for en nyhetsside.

Tabellen skal ha tre columns: tag_id, tag_value og linkHash.

linkHashen er det som forbinder hver tag med en gitt artikkel, og her er hva jeg ønsker å gjøre:

 

Og så kommer "the tricky part"

Jeg vil hente ut alle tagsene med linkHash lik hashen til artikkelen jeg er på som er lagret i $story['linkHash'], og sammen med hver row den returner vil jeg i tillegg til columnsene også ha antallet rows i tabellen med samme tag_value. Altså noe slik:

 

SELECT tag_value,(SELECT COUNT(*) AS tag_number FROM tags WHERE tag_value = this.tag_value) FROM tags WHERE linkHash = '$story['linkHash']'

 

Litt vrient å forklare, men jeg vil altså at hver row skal inneholde taggen, og totalt antall av den taggen i tabellen. Noen som har peiling på hvordan jeg kan gjøre dette?

 

På forhånd takk =)

Jon

Lenke til kommentar
Videoannonse
Annonse

Hvis jeg kjører følgende query (har ikke laget tags tabellen enda, så brukte en jeg har fra før av):

select t1.itemTitle, count(t2.itemTitle) as antall from related t1 inner join related t2 on (t1.itemType = t2.itemType) where t1.linkhash = '3df7257914420c35db82e74569ad29bfde507701'

 

Så får jeg følgende error fra MySQL

#1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause

 

Noen ideer?

 

 

---------------------------[ EDIT ]---------------------------

 

 

NVM, fant ut at alt jeg trengte å gjøre var:

SELECT t1.itemTitle, count( t2.itemTitle ) AS antall
FROM related t1
INNER JOIN related t2 ON ( t1.itemType = t2.itemType )
WHERE t1.linkhash = '3df7257914420c35db82e74569ad29bfde507701'
GROUP BY itemTitle

så fungerte det smertefritt =)

Endret av Jonhoo
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å
×
×
  • Opprett ny...