Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Una query possibile?

  1. #1

    Una query possibile?

    Ciao ragazzi,

    ho una tabella dove in un collona ho dei dati (diciamo numeri da 1 a 100 - chiamata id_xxxx) e una colonna(stato_utente) i cui dati (numerici) sono legati alla colonna di prima.
    ad esempio
    id - id_utente - id_xxxx - stato_utente
    3------45------------1------------1
    1------53------------2------------2
    6------25------------2------------2
    2------55------------3------------2
    4------37------------5------------1
    5------38------------5------------1
    7------12------------5------------1

    La mia domanda è questa:
    come faccio a trovare il numero id_xxxx che ha il maggior numero di stato_utente uguale a 1?
    é una query che si può fare?
    A.
    Dindya

  2. #2
    sempre sto vizio bbrutto di non dire con quale db si sta lavorando. per non parlare del titolo! ma il regolamento è un optional?

  3. #3
    Susate Mysql server
    Dindya

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select id_xxxx,count(stato_utente) as quanti
    from tabella
    where stato_utente = 1
    group by id_xxxx
    having count(stato_utente) = (
    select count(stato_utente) as maggiore
    from tabella
    where stato_utente = 1
    group by id_xxxx order by maggiore desc limit 1)
    In questo modo tieni conto anche della possibilità che più id_xxxx abbiamo lo stesso numero massimo di stato_utente pari a 1.

  5. #5
    la provo dubito grazie!
    Dindya

  6. #6
    ma al posto di "quanti" cosa devo mettere? é una parola chiave di mysql?
    Dindya

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da andrea-dindya
    ma al posto di "quanti" cosa devo mettere? é una parola chiave di mysql?
    Puoi metterci quello che vuoi. E' solo un alias di campo.
    Devi solo modificare la query mettendo il nome della tua tabella al posto di tabella.

  8. #8
    ahahahahahaha grazie mille funzina perfettamene
    Dindya

  9. #9
    Ma se invece volessi avere una classifica, cioè avere una lista di id_xxxx e le rispettive "quanti" sarebbe sufficiente modificarla così?

    select *,count(stato_utente) as quanti
    from tabella
    where stato_utente = 1
    group by id_xxxx
    having count(stato_utente) = (
    select count(stato_utente) as maggiore
    from tabella
    where stato_utente = 1
    group by id_xxxx order by maggiore desc limit 1)

    A.
    Dindya

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select id_xxxx,count(stato_utente) as quanti
    from tabella
    where stato_utente = 1
    group by id_xxxx
    order by quanti desc

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.