Contare i record scartando eventuali "doppioni".

di il
20 risposte

20 Risposte - Pagina 2

  • Re: Contare i record scartando eventuali "doppioni".

    sspintux ha scritto:


    Msaccess non supporta il count (distinct ...)
    ma può essere simulato come segue
    
    select count(q.*) 
    from
     ( select distinct idedizione, idInterprete from tabInterpretazioni) as q
    
    Grazie anche a te per il suggerimento. Ma, come ho detto, sono un principiante e non saprei come utilizzarlo...
  • Re: Contare i record scartando eventuali "doppioni".

    Stifone ha scritto:


    Questa è una possibile soluzione
    Soluzione.jpg
    dove:
    Ci sto lavorando...
  • Re: Contare i record scartando eventuali "doppioni".

    Stifone ha scritto:


    Questa è una possibile soluzione
    Soluzione.jpg
    dove:
    Ecco il risultato che ottengo applicando il tuo suggerimento (salvo miei errori), nel caso di cui ho parlato in un messaggio precedente e cioè IDInterprete=661.

    Query di raggruppamento:
    AA_query_1.JPG
    AA_query_1.JPG

    Ottimo!, ho pensato, il conteggio di IDInterprete=661 dà 4!

    Query di conteggio:
    AA_query_2.JPG
    AA_query_2.JPG

    Appunto, mi pareva strano...
  • Re: Contare i record scartando eventuali "doppioni".

    Donizetti ha scritto:


    Ho provato, ma, se ho ben capito, il tuo metodo mi consente di contare le presenze solo per i duplicati.
    Il mio ragionamento tecnico-pratico funziona così:
    1. Fai la query ricerca duplicati...perchè c'è la procedura guidata che ti semplifica tutte le rogne di quei campi che devi scrivere 2 volte, poi li dovresti rinominare ecc...trattandosi a maggior ragione di un conteggio duplicati su più campi.
    2. Mo però, la query ricerca duplicati cerca appunto SOLO i DUPLICATI, ma a te interessano anche i casi SINGOLI, per questo ti ho detto di cancellare i >1 in visualizzazione struttura. Poi salva ovviamente.

    Donizetti ha scritto:


    Ho applicato il tuo suggerimento ad un sottoinsieme di interpreti, per verificare più rapidamente la congruenza del risultato; ho poi individuato in questo sottoinsieme l'interprete con ID=661 e controllato "a mano" quante volte compare, trovando che compare una volta in tre opere diverse e due volte in una quarta opera: il conteggio che voglio ottenere deve quindi restituire 4 (e non 5).
    Per ottenere questo risultato:
    1. Nominerò Query1 la tua prima query ricerca duplicati aggiustata con il fatttore >1 cancellato
    2. Crea una nuova query ricerca duplicati (Query2), questa volta su Query1 e cercando i duplicati solo sul campo IDInterprete. Anche in questo caso dovrai eliminare il >1 in visualizzazione struttura.

    Come puoi notare, io sono un po' spartano e poco pratico con le query di Raggruppamento, Conteggio ecc...per tanto me la cavo con questi espedienti "a piccoli passi". Sicuramente puoi ottenere tutto con una query sola. Forse, alla Query1, non ti serve Raggruppamento (da qualche parte che ora mi sfugge), ma (credo) Primo...occorre smanettare e fare un po' di prove...
  • Re: Contare i record scartando eventuali "doppioni".

    Donizetti ha scritto:


    Ottimo!, ho pensato, il conteggio di IDInterprete=661 dà 4!

    Query di conteggio:
    ...
    Appunto, mi pareva strano...
    Hai sbagliato la seconda query, quella di conteggio. L'hai fatta sulla prima query? mostrale in sql (trovi la relativa visualizzazione nel menù che si usa quando si passa da visualizzazione struttura a visualizzazione tabella)
  • Re: Contare i record scartando eventuali "doppioni".

    Philcattivocarattere ha scritto:


    Donizetti ha scritto:


    Ottimo!, ho pensato, il conteggio di IDInterprete=661 dà 4!

    Query di conteggio:
    ...
    Appunto, mi pareva strano...
    Hai sbagliato la seconda query, quella di conteggio. L'hai fatta sulla prima query? mostrale in sql (trovi la relativa visualizzazione nel menù che si usa quando si passa da visualizzazione struttura a visualizzazione tabella)
    Non ci crederete, ma ho riaperto le due query, senza variare nulla, e il conteggio era esatto!
    Grazie a tutti!
Devi accedere o registrarti per scrivere nel forum
20 risposte