Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Confronto tra righe db

  1. #1

    Confronto tra righe db

    ciao a tutti
    ho piccolo grande problema da risolvere...mi date una mano?
    ho una tabella di dati strutturata come segue:

    id_utente,user,spesamedia,spesamassima,telefonia,h ardware,audio,video,console,valore

    le colonne "telefonia","hardware","audio","video" e "console" hanno come valore il numero di acquisti effettuati online, mentre "valore" indica la spesa complessiva sostenuta da ogni utente.

    le righe sono circa 11000. vorrei sapere come fare un confronto tra righe in modo tale che, ad ogni utente(riga) venga associato un ulteriore utente simile per numero di acquisti ma diverso per valore. mi spiego meglio: id1 dovrebbe scorrere tutta la tabella e ricercare un utente con numero di acquisti simile al suo, ma con valore MOLTO DIVERSO(per esempio il primo spende all'anno 3 euro, il secondo 2400 euro)....a sua volta id2 scorrerà tutta la tabella per trovare un suo simile e così via.....

    L'output dovrebbe essere una cosa del genere:
    id1 id456
    id2 id9832
    id3 id1233

    mi incollereste un pò di codice? grazie mille

    NB: sto usando netbeans 6.0 e come linguaggio di programmazione java per un database mysql

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    io proverei a realizzare una query simile a questa (non sono sicuro che sia corretta per MySQL...) :

    select id, (telefonia + hardware + audio + video + console) as numPezzi, valore order by numPezzi

    scarichi tutti i risultati in tanti vettori di oggetti quanti sono i diversi valori di numPezzi.
    Questi oggetti saranno dei Comparable con tre campi: id, numPezzi e valore. Il metodo compareTo sarà ovviamente basato sul valore del campo valore.

    Per ogni possibile valore del campo numPezzi avrai un vettore, insomma. Ogni vettore lo ordini con i metodi della classe Arrays. E fin qua, nulla di complicato.

    Ora però devi scegliere in che modo accoppiare i risultati.. supponi che questo sia uno dei vettori di cui sopra.
    codice:
    id     valore
    99 | 1
    21 | 2
    16 | 4
    94 | 7
    33 | 8
    27 | 9
    Come saranno le coppie?

    (99,27), (21,33),...

    oppure

    (99,94), (21,33), (16,27)

    oppure

    [libera fantasia di accoppiamento]
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

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.