Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    [php-mySql] problemi group by

    Codice PHP:
    SELECT DISTINCT
      COUNT
    (*) AS cnt,
      `
    mager`.ma_id
    FROM
      
    `mager`
      
    INNER JOIN `mdatiON (`mager`.ma_id = `mdati`.mdm_id)
    WHERE
      
    (md_tip LIKE 'posizione') AND
      (
    md_dat LIKE '%web developer%') AND
      (
    ma_sch != '1')
    GROUP BY
      
    `mager`.ma_id 
    Questa query produce:
    codice:
    cnt | ma_id
    2 | 4092
    1 | 11510
    1 | 11621
    1 | 11801
    eliminando il group by mi restituisce 5;
    io invece vorrei che mi restituisse 4, cioè appunto raggruppati per ma_id...
    ...come posso fare?

    devo contare quanti `mager`.ma_id soddisfano la where...
    わさび

  2. #2
    sicuramente non raggruppando per ma_id.

    Prova a raggrupparli per le condizioni che hai in where, ma selezionando un alias nel select...

    SELECT COUNT(*), CONCAT(md_tip, md_dat) as gruppo
    ....
    ....
    ....
    where ....
    GROUP BY gruppo

    Fai una prova. Dovrebbe funzionare... (forse)....


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Ciao piero.mac e grazie x l'aiuto,
    ho ottenuto lo stesso risultato
    output:
    codice:
    COUNT(*) | gruppo
    1 | posizioneuno
    1 | posizionedue
    1 | posizionetre
    2 | posizionequattro
    :master:
    わさび

  4. #4
    se in posizionequattro hai due record non c'e' santo con COUNT. Ed e' giusto che li conti.... mi pare che sia quello che vuoi, cioe':
    devo contare quanti `mager`.ma_id soddisfano la where...
    e sono 5.

    Prova a contare le righe estratte con mysql_num_rows. Con il raggruppamento by ma_id le righe estratte sono solo 4. Lascia stare count().


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Sì la soluzione è in mysql_num_rows... grazie piero.mac
    わさび

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.