Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [MySQL] Visualizzare solamente i record doppi

    Dovrei trovare i record doppi in un database di 4000 articoli e quindi uso questa query:

    Codice PHP:
    select codicecount(codice) as conteggio from articoli group by codice 
    Mi elenca tutti i 4000 codici ed accanto il numero di doppioni trovati. Io vorrei però prelevare solamente quelli che sono realmente doppi, quindi quelli che hanno il campo conteggio maggiore di 1, come potrei fare?
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  2. #2
    Se non ricordo male puoi provare aggiungendo un:

    WHERE conteggio>1

    alla fine della select.

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    select codice, count(codice) as conteggio 
    from articoli group by codice
    having count(codice) > 1

  4. #4
    Originariamente inviato da dunix87
    Se non ricordo male puoi provare aggiungendo un:

    WHERE conteggio>1

    alla fine della select.
    Questa l'avevo già provata ma è ovvio che non funziona perché conteggio è un campo alias e non un campo della tabella.

    @Nicola
    Muy muy muy bien
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  5. #5
    si si scusa ho scritto una fesseria me ne sono accorto sl ora...
    Il codice di prima mattina

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    17
    Anche così dovrebbe funzionare:

    select * from
    (select codice, count(codice) as conteggio from articoli group by codice)
    where conteggio > 1


    Ciao ciao

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da sorella
    Anche così dovrebbe funzionare:

    select * from
    (select codice, count(codice) as conteggio from articoli group by codice)
    where conteggio > 1


    Ciao ciao
    Se aggiungi un alias di tabella sì

    codice:
    select * from
    (select codice, count(codice) as conteggio from articoli group by codice) as tab
    where conteggio > 1
    Ma perchè scomodare le query annidate.

  8. #8
    Mi riaggancio a questo discorso per avere una modifica della query sopra che non riesco a fare. Se io volessi vedere solamente in una tabella i record doppi del tipo:

    codice:
    codice - conteggio
    007989 - 1
    007989 - 1
    3569 - 1
    3569 - 1
    45897 - 1
    45897 - 1
    45897 - 1
    e non in questo modo

    codice:
    codice-conteggio
    007989 - 2
    3569 - 2
    45897 - 3
    come potrei modificare la query sopra?
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  9. #9
    codice:
    SELECT *
    FROM articoli
    where codice IN(
          select codice 
          from articoli
          group by codice
          having count(*) > 1)
    order by codice

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