Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [MySql] query con max

  1. #1
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768

    [MySql] query con max

    ho un problema a quanto pare abbastanza comune qui nel forum, mi dispiace quindi dover scrivere un altro post in merito ma non riesco a far funzionare la query

    ecco la mia tabella con alcuni record:

    post_id - post_autore - post_titolo - post_data_post - post_relativo_a - post_stanza

    1 - 3 - 'titolo1' - 1189032376 - 2 - 1
    2 - 3 - 'titolo2' - 1189032476 - 3 - 1
    3 - 5 - 'titolo3' - 1189032485 - 2 - 2
    4 - 3 - 'titolo4' - 1189032976 - 2 - 1

    io vorrei estrarre le righe con la data massima per ogni stanza (le stanze le impongo io)

    quindi la rgha con id 3 e 4

    leggendo questa discussione:

    http://forum.html.it/forum/showthrea...t=group+by+max

    ho provato a scrivere questa query:


    SELECT * FROM
    (select concat(post_autore,post_stanza,post_titolo,post_id , post_relativo_a,max(post_data_post)) as datas from forum_post
    group by post_id
    HAVING `post_stanza` IN (1, 2)) as tab1
    left join forum_post as tab2 ON tab1.datas = concat(tab2.post_id,tab2.datas)

    ma ottengo questo errore:

    Errore di sintassi nella query SQL vicino a 'SELECT concat( post_autore, post_stanza, post_titolo, post_id, post_relativo_a, ' linea 3

    oltretutto questa query mi è poco chiara :master:
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  2. #2
    penso che sia dovuto al fatto che sei con la release 4 e quindi senza query annidate.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    bene, quindi non c'è soluzione al problema?
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  4. #4
    Originariamente inviato da gasmor
    bene, quindi non c'è soluzione al problema?
    solo a quello che e' successo ultimamente a due personaggi italiani non c'e' soluzione.

    tu ne puoi avere due:

    selezionare tutte le max(data_post) previste da where, raggruppate per post_autore, metterle in un IN() e rifare la selezione con where data IN(.....)

    oppure, quella che preferirei (meno codice), creare una tabella temporanea ordinando le date DESC e selezionare i dati raggruppati per post_autore

    la prima sei buono farla da te, la seconda sara' qualcosa di simile:

    codice:
    create temporary table temp
    select * from tabella
    WHERE post_stanza in(1,2)
    order by data_post DESC
    
    SELECT * FROM temp
    group by post_autore
    sono due query in entrambi i casi, ma la seconda senza codice php. Per inciso la query che hai citato nel primo post non fa altro che fare la prima soluzione proposta.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    perchè raggruppi per post_autore?

    io vorrei estrarre le righe con la data massima per ogni stanza
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  6. #6
    Originariamente inviato da gasmor
    perchè raggruppi per post_autore?

    io vorrei estrarre le righe con la data massima per ogni stanza
    perche' io non ho idea di quello che hai. Vedi tu. ho visto che stanza ed autore coincidono come selezione ed ho usato quelli. tu usa quello che ti serve.

    raggruppare per autore o per stanza nell'esempio che hai postato e' la stessa cosa.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.