Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 30
  1. #11

    Re: Re: Re: Re: Re: DISTINCT che sfasa su piu' campi

    Originariamente inviato da andr3a
    non va .. o mi da 1 solo record, oppure mi da i 450 di prima ...
    Fai un punto.... che hai nella tabella, che vuoi ottenere. Tieni conto che son fagiano e non so niente del lotto, e altre sottopirlate.... conosco solo il superenalotto 2 serie di 6 numeri random € 1.00... che non escono mai.

    Non e' facile gestire il distinct. ci ho perso delle mezze giornate ..

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

  2. #12
    se io facessi senza DISTINCT un GROUP BY numero, come faccio a prendere gli ultimi in ordine DESC ???


    mi prende i risultati dall' inizio, e' come se se ne fregasse dell' ORDER BY


    SELECT numeri_estrazione.estratto, numeri_estrazione.numero, ruota_estrazione.ruota, data_estrazione.data FROM numeri_estrazione, ruota_estrazione, data_estrazione WHERE numeri_estrazione.ruota = ruota_estrazione.id AND numeri_estrazione.ruota = 1 AND numeri_estrazione.data = data_estrazione.id GROUP BY numeri_estrazione.numero ORDER BY numeri_estrazione.id DESC


    SELECT numeri_estrazione.estratto, numeri_estrazione.numero, ruota_estrazione.ruota, data_estrazione.data FROM numeri_estrazione, ruota_estrazione, data_estrazione WHERE numeri_estrazione.ruota = ruota_estrazione.id AND numeri_estrazione.data = data_estrazione.id GROUP BY numeri_estrazione.ruota, numeri_estrazione.numero ORDER BY numeri_estrazione.ruota, numeri_estrazione.id DESC
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #13

    Re: Re: Re: Re: Re: Re: DISTINCT che sfasa su piu' campi

    Originariamente inviato da piero.mac
    Fai un punto.... che hai nella tabella, che vuoi ottenere. Tieni conto che son fagiano e non so niente del lotto, e altre sottopirlate.... conosco solo il superenalotto 2 serie di 6 numeri random € 1.00... che non escono mai.

    Non e' facile gestire il distinct. ci ho perso delle mezze giornate ..
    allora ... facciamo cosi' ... tu hai una tabella , con un campo nome ... ogni giorno inserisci dati tipo:

    pippo entra alle 10
    franco entra alle 9
    paperino entra alle 8


    il giorno dopo

    pippo entra alle 9
    franco entra alle 9
    paperino entra alle 8

    ...

    e cosi' via, tu dovresti prendere per ogni nome della tabella entrate, quando e' che e' entrato l'ultima volta, ora e data ... esempio di m .... ???
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #14
    un po piu' chiaro lo e'....

    Pero' per fare le query devi metterti giu' le risposte che vuoi ottenere e poi formulare la domanda in modo di sottisfarle tutte....

    Dal primo post leggo:

    id_data int(10)
    id_ruota int(1)
    estratto int(1)
    numero int(2)

    ora:

    id_data = qualsiasi
    id_ruota = qualsiasi
    estratto = qualsiasi
    numero = qualsiasi

    Corrisponderebbe ad un SELECT *

    Prova a rispondere al quesito.

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

  5. #15
    Riletto tutto... mi pare di capire che alla fine della fiera tu vuoi un record distinct per:

    ruota, posizione_estratto, numero_estratto

    dove la data deve essere l'ultima in cui si e' verificato quel singolo evento. Correggimi se sbaglio.... l'univocita' la vuoi sui tre eventi con max data disponibile.

    Quindi prova a fare una cosa di questo genere:

    SELECT DISTINCT *, MAX(data) as pippo
    from tabella
    group by CONCAT(id_ruota, estratto, numero)
    having data = pippo
    order by quel che ti serve....


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

  6. #16
    Originariamente inviato da piero.mac
    Riletto tutto... mi pare di capire che alla fine della fiera tu vuoi un record distinct per:

    ruota, posizione_estratto, numero_estratto
    esatto, per ogni ruota vorrei ottenere l' ultima volta che e' uscito ognuno dei 90 numeri, singolarmente ed insieme a questo anche la posizione estratto in cui e' uscito ( sempre l'ultima volta ) , la data e il numero, totale 900 numeri , 90 per ogni ruota ... con questa sono riuscito ad ottenere i 900 numeri e dovrebbero essere giusti, quello che non e' giusto e' l' estratto e la data che mi prende ... non capisco perche' l' id e' giusto, il numero e' giusto, ma i campi estratto e data non sono giusto ...


    SELECT MAX( numeri_estrazione.id ) AS MID, numeri_estrazione.estratto, numeri_estrazione.numero, data_estrazione.data, ruota_estrazione.ruota FROM numeri_estrazione LEFT JOIN data_estrazione ON numeri_estrazione.data = data_estrazione.id LEFT JOIN ruota_estrazione ON numeri_estrazione.ruota = ruota_estrazione.id GROUP BY numeri_estrazione.ruota, numeri_estrazione.numero ORDER BY numeri_estrazione.ruota ASC, MID DESC

    adesso provo a fare come hai detto tu , ti faccio sapere, grazie
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #17
    allora, la definitiva utile e' questa

    SELECT MAX( numeri_estrazione.id ) AS MID, MAX( data_estrazione.data ) as MDT, MAX( numeri_estrazione.data ) as MDI, numeri_estrazione.numero, ruota_estrazione.ruota FROM numeri_estrazione LEFT JOIN data_estrazione ON numeri_estrazione.data = data_estrazione.id LEFT JOIN ruota_estrazione ON numeri_estrazione.ruota = ruota_estrazione.id GROUP BY numeri_estrazione.ruota, numeri_estrazione.numero ORDER BY numeri_estrazione.ruota ASC, MID DESC

    mi manca solo di riuscire ad ottenere l' estratto in base all' id che corrisponde al numero che trovo ...


    P.S. piero la tua mi dava zero risultati ... senza errori
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #18
    Bisogna provare ovviamente....

    il group by agisce solo sul primo indicatore. Il secondo non lo vede, non e' come order by.

    Se vuoi la coppia devi usare group by CONCAT(primo,secondo)




    ps.. usa gli alias per le tabelle... zero risultati significa nessuna terna.... prova a togliere having...

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

  9. #19
    Originariamente inviato da piero.mac
    Bisogna provare ovviamente....

    il group by agisce solo sul primo indicatore. Il secondo non lo vede, non e' come order by.

    Se vuoi la coppia devi usare group by CONCAT(primo,secondo)
    mysql 4.1.3beta ... a me GROUP BY funziona esattamente come ORDER BY ... se metto CONCAT non cambia niente, comunque ripeto, cosi' e' perfetta, solo che l' id e' giusto, la data e' giusta, i numeri sono giusti, le posizioni pure ... quello che non e' giusto e' il solo estratto ... che se inserito in CONCAT mi quintuplica il risultato ... e addio MAX(id) sul group by numero ... porca trota
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  10. #20
    Ho un po di confusione.... cosa intendi per "estratto" la posizione (1-5) od in numero (1-90)? Non si capisce....

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

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 © 2026 vBulletin Solutions, Inc. All rights reserved.