• User

    query per contare record MySQL

    Posto subito la mia richiesta di consiglio

    ho una tabella tipo

    [TABLE="class: grid, width: 500"]

    [TD]id[/TD]
    [TD]blocco_1[/TD]
    [TD]blocco_2[/TD]
    [TD]blocco_3[/TD]
    [/TR]

    [TD]1[/TD]
    [TD]Andrea[/TD]
    [TD][/TD]
    [TD]Andrea[/TD]
    [/TR]

    [TD]2[/TD]
    [TD]Pippo[/TD]
    [TD]Pippo[/TD]
    [TD]Pippo[/TD]
    [/TR]

    [TD]3[/TD]
    [TD]Gianni[/TD]
    [TD][/TD]
    [TD][/TD]
    [/TR]
    [/TABLE]

    Conoscete una query che mi conta i records da tutta la tabella ad esempio:

    Andrea 2
    Pippo 3
    Gianni 1

    Grazie, spero di essermi spiegato bene


  • User

    sono sempre io, se uso una query di questo tipo

    SELECT blocco1,
    COUNT(*) AS 'totale'
    FROM tabella
    GROUP BY blocco1
    ORDER BY totale DESC;

    mi restituisce quello che voglio fare più o meno, però solo su di una colonna e non capisco come fargli fare questa operazione su più colonne. Magari se qualcuno ha qualche suggerimento su come poterci arrivare anche da php... non so.

    cioè mi da ad esempio:

    blocco 1 | totale

    pippo - 1
    andrea - 1
    gianni - 1

    Grazie


  • User

    se qualcuno fosse interessato ho risolto così

    SELECT blocco, COUNT(*) AS 'totale'
    FROM (
    SELECT blocco_1 AS blocco
    FROM tabella

    UNION ALL

    SELECT blocco_2
    FROM tabella

    UNION ALL

    SELECT blocco_3
    FROM tabella) AS t
    GROUP BY blocco