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

    [PHP + Mysql] - Problema con una query

    Ciao a tutti,
    mi scuso per il titolo del 3d ma proprio non mi veniva un modo per esemplificare il mio problema che è il seguente:
    in pratica ho un DB contenente vari dati, nel quale ci sono alcuni campi che si ripetono , ad esempio:

    NOME, CITTA', MSG

    Ad esempio in questo caso ci saranno molti record con città uguale, bene, mi chiedevo, è possibile fare in modo che direttamente da SQL mi generi una lista ordinata con il numero totale delle diverse città inserite.

    Provo a spiegarmi con un'altro esempio, mettiamo che nel DB ho i seguenti dati:

    Ciro,Napoli,Ciao
    Santuzzo,Napoli,Hello
    Mario,Roma,Bella


    Bene, quello che intendevo io è possibile far stampare in ordine prima Napoli (2) che ha 2 record con la stessa città e successivamente Roma (1) che ne ha 1 solo ?
    Immagino si debba usare il GROUP by città ma poi per fare il conteggio come devo fare?
    Spero di essermi spiegato....
    Grazie, ciao!
    W magica ROMA!

  2. #2
    il group by ti rende un solo record per ogni raggruppamento ... non so se e' quello che cerchi...

    per l'ordinamento secondo la numerosita' delle citta' fai un count.

    select *, count(*) as tot
    from tabella
    group by citta
    order by tot desc

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

  3. #3
    Ho capito, grazie mille!

    Volevo chiedere inoltre, se era possibile fare questa'altra cosa:

    Ho sempre un campo che può ripetersi, però vorrei contare in modo differente, ossia se ho "1" mi incrementa una variabile, se ho " 2 o 3" me ne incrementa un'altra.
    Nel senso, il mio problema è che ho fatto una tabella con dei voti, in questa tabella inserisco tutti i tipi di voti che possono essere 1 2 3, nel record insieme al voto, c'è anche un campo con il nome di chi ha preso quel voto, poi quando le vado stampare con un ciclo iniziale in php mi trovo la somma dei voti "1" e la somma di voti > di 1, solamente che se io vorrei ordinare questi voti per quelli negativi che sarebbero gli 1 e quelli positivi (>1) non sò come fare!
    C'è un modo per farlo direttamente in SQL ?
    Spero di essermi spiegato!
    Grazie, ciao!
    W magica ROMA!

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