Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2013
    Messaggi
    34

    problema per ottenere piu risultati da una query

    Ho in una tabella diverse entrate ognuna con un id , devo prendere i 10 id piu frequenti negli ultimi tot giorni ma riesco a prendere solo il primo, potrebbe dipendere dal GROUP BY? mi sapete aiutare?


    codice:
        $sqlquery2 = "SELECT id FROM tabellaWHERE dateinserted BETWEEN DATE_ADD(CURDATE(), INTERVAL -7 day) AND CURDATE() GROUP BY id ORDER BY COUNT(*) DESC LIMIT 10";
        $result2 = mysql_query($sqlquery2);
    $info2=mysql_fetch_array($result2);
    $id= $info2[id];
    Grazie
    Ultima modifica di gege79; 08-04-2015 a 21:00

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    credo tu debba fare il join di due tabelle, una cosa tipo questa
    codice:
    SELECT t1.id 
        FROM tabella as t1
        JOIN (
            SELECT id, count(id) as conteggio
                FROM tabella
                WHERE dateinserted BETWEEN DATE_ADD(CURDATE(), INTERVAL -7 day) AND CURDATE() 
                GROUP BY id) as t2
        ORDER BY t2.conteggio DESC 
        LIMIT 10

  3. #3
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ovviamente, prima di order by ci va "ON t1.id = t2.id"

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2013
    Messaggi
    34
    boh non riesco a farlo funzionare, resta in caricamento la pagina, se magari puoi riscriverlo cn la sintassi giusta visto che non ho idea di come si usi un JOIN te ne sarei grato.

  5. #5
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    codice:
    SELECT t1.id 
        FROM tabella as t1
        JOIN (
            SELECT id, count(id) as conteggio
                FROM tabella
                WHERE dateinserted BETWEEN DATE_ADD(CURDATE(), INTERVAL -7 day) AND CURDATE() 
                GROUP BY id) as t2
        ON t1.id = t2.id
        ORDER BY t2.conteggio DESC 
        LIMIT 10

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    testala direttamente sul DB, senza usare PHP

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.