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

    Difficoltà con query con GROUP BY / COUNT / ecc...

    Ciao a tutti!
    Come al solito sono qui con una domandina pratica, ma che per me - utonto di mysql - risulta di difficoltosa soluzione.
    Ho una tabella in cui salvo (per fini statistici) le visite delle persone (ognuna caratterizzata da id_persona) che entrano in un dato negozio (caratterizzato da id_negozio).
    Ora, quello che vorrei fare è: dato un id_negozio, posso riordinare per la somma delle visite di ogni utente le visite effettuate? Detto in altre parole: posso sapere quante visite ha fatto ogni utente nel dato negozio e riordinare i risultati per mostrarli in ordine decrescente di visite?

    Se ancora non mi fossi spiegato (oggi sono un po' rinco :P) vorrei una cosa del genere:
    codice:
    Hai scelto il negozio "3":
    Utente 6: visite 15
    Utente 19: visite 15
    Utente 13: visite 14
    Utente 1: visite 12
    Utente 23: visite 11
    … e così via
    Grazie in anticipo, so che è una scemenza, basta una query con un po' di SUM/COUNT, GROUP BY, ORDER BY, ecc, ma non riesco a mettere insieme il tutto!
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  2. #2
    Si è fattibile

    Se le visite sono gia segnate basta fare cosi
    codice:
    Select utente, visite
    From tabella
    where nome_negozio like "3";
    Se le visite le devi contare perchè hai ad esempio
    File negozio 3:
    Utente1
    Utente2
    Utente2
    Utente2
    Utente3
    Utente3

    E quindi devi trovare Utente 1 visite:1, Utente 2 visite:3, Utente 3 visite2, allora fai cosi

    codice:
    Select utente, Sum(utente) as visite
    From tabella
    where id_negozio like "3"
    Group by utente
    se non va cosi non mi ricordo modifica e fai Sum(Distinct utente)



    Facci sapere se va

  3. #3
    se deve contare i record sarebbe opportuno usare count(*) perche' sum() suppone di trovare un numero in un campo specifico.

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

  4. #4
    mannaggia a me a forza di fare query con Sum sta mattina mi son messo i paraocchi, quoto pienamente mac, mi sono dimenticato per un attimo del count




  5. #5
    Grazie ad entrambi!
    Non ho sotto mano il computer per provare ora (sono in ufficio), ma - per vedere se ho capito, basta che faccia così?
    codice:
    Select utente, COUNT(utente) as visite
    From tabella
    where id_negozio = 3
    Group by utente
    (ho cambiato SUM con COUNT e messo "=" invece che "like")

    grazie ancora!!
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

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.