Visualizzazione risultati 1 fino 4 di 4

Discussione: GROUP BY in ordine decrescente

  1. #1
    Guest

    Predefinito GROUP BY in ordine decrescente

    Salve a tutti, sto facendo una query in cui vorrei raggruppare i miei risultati, selezionando quello con l'id più alto e non quello più basso che è di dafault con il gruoup by.

    SELECT b.post, b.id, c.name, c.surname
    FROM forum_post AS a
    INNER JOIN forum_reply AS b ON b.post = a.id
    INNER JOIN utenti AS c ON c.id = a.owner
    WHERE a.category = 1
    GROUP BY b.post
    ORDER BY b.id DESC
    Questa è la mia query. In sostanza vorrei fare un GRUOP BY b.post scegliendo fra tutti i risultati con lo stesso b.post, quello con il campo b.id maggiore. Qualcuno sa aiutarmi?

  2. #2
    Guest

    Predefinito

    Ciao,
    prova così:

    Codice:
    SELECT b.post, b.id, c.name, c.surname
    FROM forum_post AS a 
    INNER JOIN forum_reply AS b ON b.post = a.id 
    INNER JOIN utenti AS c ON c.id = a.owner 
    INNER JOIN (SELECT POST, MAX(ID) AS MAX_ID FROM forum_reply GROUP BY POST) AS X ON B.POST=X.POST AND B.ID=X.MAX_ID
    WHERE a.category = 1
    GROUP BY b.post
    ORDER BY b.id DESC
    ho aggiunto il codice:

    Codice:
    INNER JOIN (SELECT POST, MAX(ID) AS MAX_ID FROM forum_reply GROUP BY POST) AS X ON B.POST=X.POST AND B.ID=X.MAX_ID
    Ciao
    Mik

  3. #3
    Guest

    Predefinito

    No, sfortunatemente non cambia niente! Estrae esattamente gli stessi risultati!

  4. #4
    Guest

    Predefinito

    Ciao,
    ma come fa ad estrarre il valore più piccolo, visto l'utilizzo di MAX(ID)?

    SELECT POST, MAX(ID) AS MAX_ID FROM forum_reply GROUP BY POST

    puoi provare a lanciare semplicemente la query sopra e vedere se ti estrae l'ID più piccolo o più grande. Altra cosa, ma ID è numerico(1,2,3) o alfanumerico ('1','2','3',...'11')?

    Prova a fornirci dei dati

    Ciao
    Michele

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •