Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [MySQL] GROUP BY con ORDER BY su INNER JOIN

    Salve,
    avevo creato questa query:
    codice:
    SELECT click.idLink, link.titolo, link.tipo, link.url, link.imgUrl, link.dataScadenza, link.data, link.attivo
    FROM click INNER JOIN link 
    ON click.idLink = link.id 
    WHERE idUtente = $idUtente $where 
    GROUP BY click.idLink 
    ORDER BY click.share_date DESC, link.data DESC
    Convinto (con la mia ignoranza) del fatto che l'ORDER BY veniva tenuto in considerazione prima del GROUP BY, invece non è così..!
    L'ORDER BY si occupa soltanto di riordinare i risultati del GROUP BY, mentre a me serviva proprio la possibilità di andare a selezionare le righe con lo share_date più grande..

    Posso risolvere da query?

  2. #2
    puoi fare un esempio con dei dati? grazie

  3. #3
    In pratica nella tabella click sullo share_date salvo il time(), quindi con l'ORDER BY vorrei pescare soltanto l'ultimo share_date mentre invece viene pescato a caso(?)

  4. #4
    un esempio con due dati? ho questi dati sul db, vorrei questa roba in output

  5. #5
    Tabella click:
    id idUtente idLink https://46.30.241.210:2083/cpsess186...themes/dot.gif 1 click switch giorno CPCM share_date
    750467 248 1293 21 0 2019-03-07 1.9 1552476546
    771032 248 1293 2 0 2019-03-14 1.9 1542476546
    761596 248 1293 10 0 2019-03-11 1.9 1532476546
    Tabella lnik
    id titolo url tipo1 = Normale | 2 = Instant CPCM idCategoria imgUrl data dataScadenza attivo scelto
    1293 LUI non è l'uomo giusto per te: Liberati e pr... https://www.abc.org/2018/06/04/lui-no... 2 1.9 15 https://www.abc.org/wp-content/upload... 1528134539 1 0

    Quindi in output a me servirebbe lo share_date
    1552476546

    Grazie

  6. #6
    Risolto con un semplice MAX() sull'elemento da ordinare

  7. #7
    son contento che ci sei arrivato da solo posta la query, così può essere d'aiuto per altri

  8. #8
    codice:
    SELECT click.idLink, link.titolo, link.tipo, link.url, link.imgUrl, link.dataScadenza, link.data, link.attivoFROM click INNER JOIN link 
    ON click.idLink = link.id 
    WHERE idUtente = $idUtente $where 
    GROUP BY click.idLink 
    ORDER BY MAX(click.share_date) DESC, link.data DESC

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 © 2025 vBulletin Solutions, Inc. All rights reserved.