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

    Posizione in classifica

    Ciao a tutti.

    Ho un sito di cinema in cui sono inseriti un migliaio di film. Ogni film può essere votato dall'utente con un voto da 1 a 8. Il sistema somma i voti e fa la differenza con i votanti in questo modo genero, ovviamente, la media voto.

    Ora io vorrei fare questo.

    In ogni scheda del film io trovo i dati in questo modo :

    Numero votanti: 655
    Media voto: 5.59 (scala da 1 a 8)

    Vorrei aggiungere sotto media voto questa riga

    Numero votanti: 655
    Media voto: 5.59 (scala da 1 a 8)
    Posizione in classifica : 104

    Come posso chiedere al sistema di farmi un calcolo della posizione del film basandosi sulle medie voti di tutti gli altri ? è possibile ?

    Grazie
    Informazione finanziaria: http://www.dominosolutions.it

  2. #2
    potresti fare un select count con la clausola WHERE media < al valore del film che ti interessa

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ho fatto una prova in locale con una semplice tabella del genere

    tabella film
    id_voto
    id_film
    voto

    codice:
    set @riga = 0, @posizione = 0, @preced = 0;
    select * from(
    select id_film,@riga := @riga + 1 as riga, 
    @posizione := if(@preced<>media,@riga,@posizione) as posizione,
    @preced := media as media from (
    select id_film,avg(voto) as media
    from film
    group by id_film
    order by media desc) as tab) as tab2 where id_film = 1
    Non so se si possa risolvere in maniera meno contorta.

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