Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: [SQL] COUNT e GROUP BY

  1. #1

    [SQL] COUNT e GROUP BY

    Salve, non riesco a risolvere il seguente problema:

    Ho una tabella di foto e tra i vari campi ho il titolo.
    Devo contare il numero di titoli distinti che sono presenti nella tabella, ho provato con la seguente query:

    SELECT COUNT(*) AS count FROM `photos` AS `Photo` WHERE title IN ( SELECT title FROM photos GROUP BY title)

    ma mi torna il numero delle foto e non il numero dei titoli. La seconda query annidata restituisce una tabella le cui righe sono esattamente i titoli distinti delle foto, devo riuscire a contare le righe di questa tabella. Posso usare solo l' SQL in un' unica query e non posso aiutarmi con un mysql_affected_rows
    in php.

    Grazie

  2. #2
    Utente di HTML.it L'avatar di bum
    Registrato dal
    Jun 2008
    Messaggi
    234
    SELECT title FROM photos GROUP BY title
    io lo farei diventare

    SELECT DISTINCT title FROM photos

  3. #3
    Utente di HTML.it L'avatar di bum
    Registrato dal
    Jun 2008
    Messaggi
    234
    Anzi cancellerei tutto e farei cosi:

    SELECT COUNT(DISTINCT title)
    FROM photos

  4. #4
    Si, così funziona ma purtoppo posso personalizzare solo la parte dopo il WHERE della query.

  5. #5
    Utente di HTML.it L'avatar di bum
    Registrato dal
    Jun 2008
    Messaggi
    234
    se è per gli alias basta aggiungerli

  6. #6
    In pratica sto usando il framework cakephp e il componente della paginazione fa la seguente query:
    SELECT COUNT(*) AS count FROM `photos` AS `Photo`, poi posso inserire dei critery per il WHERE ma il COUNT di partenza è quello.

  7. #7
    Utente di HTML.it L'avatar di bum
    Registrato dal
    Jun 2008
    Messaggi
    234
    Hai provato conil mio primo suggerimento?

  8. #8
    Si ma il risultato è lo stesso, la seconda query (SELECT DISTINCT title FROM photos) restituisce correttamente una tabella con i titoli distinti delle foto, ora devo riuscire a contare le righe di questa tabella con il COUNT della prima query.

  9. #9
    Utente di HTML.it L'avatar di bum
    Registrato dal
    Jun 2008
    Messaggi
    234
    SELECT COUNT(*) AS count FROM `photos` AS `Photo` GROUP BY title

    prova così

  10. #10
    Torna un insieme di righe del tipo:

    2
    20
    3
    5
    8
    .
    .
    .


    dove ogni riga è il numero di foto con il titolo della riga.


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.