Avatar billede daniel_d Nybegynder
05. juli 2009 - 14:26

Force index på query med INNER JOIN

Hvordan kan jeg lave et force index på min sql:

SET @num := 0, @kategori := '';
SELECT
    kategori.id AS kat_id,
    kategori.catname AS kat_navn,
    kategori.image AS kat_billede,
    kategori.publishedcat AS kat_publiseret,
    kategori.ordering AS kat_order,
    begivenhed.id AS b_id,
    begivenhed.catsid AS b_katid,
    begivenhed.dates AS dato,
    begivenhed.times AS start,
    begivenhed.titel AS titel,
    @num := if(@kategori = kategori.catname, @num + 1, 1) as row_number,
    @kategori := kategori.catname as dummy
FROM jos_eventlist_categories AS kategori INNER JOIN jos_eventlist_dates AS begivenhed ON kategori.id = begivenhed.catsid
WHERE kategori.publishedcat = 1
GROUP BY kat_id, b_id
HAVING row_number <= 5

Jeg har prøvet at følge guiden her: http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/

Men han bruger ikke joins, så mit eks. er mere komplekst og det giver bøvl :(
Håber der er nogen derude der kan hjælpe
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