Visualizzazione risultati 1 fino 4 di 4

Discussione: [PHP/MySql] Conteggio valori di un tabella, se diversi

  1. #1
    Guest

    Predefinito [PHP/MySql] Conteggio valori di un tabella, se diversi

    Dunque, vediamo un pò di farmi capire. Volevo implementare una voce "statistica", ma non so come fare nel senso che, usando questo codice:

    Codice PHP:

    $strsql
    = "SELECT COUNT(A) AS TOTALE_COL FROM B";
    $querysql = mysql_query($strsql,$connessione) or die(mysql_error());
    $row = mysql_fetch_array($querysql); {
    $TOTALE_B = $row["TOTALE_COL"]; }
    //Fine conteggio record
    Mi conta il valore di tutte le tabelle di B, se metto un "where", ad esempio "WHERE C LIKE 'A'" mi esce il conteggio dei valori "A", ma se io volessi far contare il numero di dati diversi? Mettiamo che io ho 5 valori:
    A
    B
    B
    D
    D

    Se li conto tutti son 5, se conto i B son 2, ma se volessi farmi dire il numero di valori diversi (in questo caso 3), come devo fare? :)

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prova ad aggiungere alla fine della query "GROUP BY nomecampo". Per nomecampo intendo il nome del campo che contiene A, B, D, ecc..
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da funcool
    Prova ad aggiungere alla fine della query "GROUP BY nomecampo". Per nomecampo intendo il nome del campo che contiene A, B, D, ecc..

    EDIT: Errore mio, nessun errore di sintassi, ma comunque la risposta che da la query è sbagliata, mi conta un risultato diverso dal reale



    EDIT2: Soluzione trovata.


    Codice PHP:

    $query
    = "SELECT * FROM A GROUP BY B";
    $result = mysql_query($query, $connessione) or die(mysql_error());

    $TOTALE_C = mysql_num_rows($result);

    echo
    $TOTALE_C;

    :) grazie mille!
    Ultima modifica di swstatistics : 26-08-2006 alle ore 18.11.04

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Puoi anche scrivere così la query senza scomodare i gruppi:
    SELECT DISTINCT A FROM TABELLA
    ed estrarre poi il numero di righe come hai già fatto.

    In qualche dialetto-SQL (non ricordo se anche MySQL) è possibile fare anche
    SELECT COUNT (DISTINCT A) FROM TABELLA
    che ti restituisce direttamente il conteggio dei diversi valori di A

    Statemi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

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