Visualizzazione risultati 1 fino 7 di 7

Discussione: query, selezionare righe con campo ripetuto più volte

  1. #1
    Guest

    Predefinito query, selezionare righe con campo ripetuto più volte

    Ciao a tutti,

    sto avendo qualche difficoltà con la query che intendo scrivere:
    ecco per esempio cosa c'è nella mia tabella:

    Codice:
    campo 1 | campo 2 | campo 3 |
    --------------------------------------
    
     df        1        2     |
    fds        1        3      |
     fd          2      2      |
     fd         1       4      |
     fd          3      2      |
    ----------------------------------------
    e voglio tirare fuori tre i record in cui il campo campo_3 è popolato più volte con lo stesso valore...
    si può fare con un'unica query?
    Ultima modifica di damaria : 01-03-2012 alle ore 21.28.42

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Probabilmente si, ma non si capisce bene cosa tu voglia fare: vuoi ottenere tutte le righe per le quali campo_3 ha uno specifico valore, oppure quelle il cui valore appare in altre righe?

  3. #3
    Guest

    Predefinito

    Per quello che ho capito io:
    Codice:
    SELECT * FROM tabella WHERE campo_3 = 2

  4. #4
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Prova questa
    SELECT *
    FROM tabella
    WHERE campo_3 in (Select Campo_3 group by Campo_3 having count(*) > 1)
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  5. #5
    Guest

    Predefinito


    Per quello che ho capito io:

    SELECT * FROM tabella WHERE campo_3 = 2

    il problema della tua interpretazione è che non so a prescindere il contenuto del campo 3.


    in effetti potevo essere più chiaro...
    vorrei estrarre solo 3 record.
    volevo estrarre solo i primi 3 record, in cui il valore contenuto nel campo 3 è ripetuto il maggior numero di volte

    proverò la soluzione proposta da bynarysun, e vi farò sapere...

  6. #6
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    La mia soluzione ti restituisce tutte le righe che hanno un campo 3 ripetuto

    Nell'esempio sopra non ti darebbe
    fd 1 4 |
    Dato che 4 è ripetuto solo 1 volta
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  7. #7
    Guest

    Predefinito

    scusate se riapro il topic, ma dopo il weekend solo oggi ho potuto accedere ad internet,

    volevo ringraziarvi per l'aiuto, e servisse mai a qualcun altro, alla fine ho risolto con:

    Select campo_3, count(1)
    from myTable
    group by campo_3
    order by 2 desc
    limit 0,3

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •