Visualizzazione dei risultati da 1 a 8 su 8

Discussione: rompicapo sql

  1. #1

    rompicapo sql

    salve a tutti.

    ho un database in mysql dove ho una tabella fatta press'a poco così:

    'movimenti'
    codice:
    persona   data   soldi
      1      2/1/05  1000
      1      2/2/05   300
      1      6/2/05   200
      2      3/7/04    10
      2      8/2/05   300
      2      9/3/05   200
      3     20/3/05   500
      3     21/3/05   400
      3     22/3/05   300
    a me piacerebbe visualizzare l'ultimo movimento che ogni persona ha fatto, e cioé

    codice:
    persona   data   soldi
      1      6/2/05   200
      2      9/3/05   200
      3     22/3/05   300
    come faccio, utilizzando una stringa sql e considerando che mysql 4.x.y.z non supporta le query annidate?

    grazie
    Armando
    "Occorre essere calmi per potersi calmare"
    (dal "Foròtica - la Via del Nèopa")

  2. #2
    ... ORDER BY campo ASC LIMIT 0,num
    (oppure DESC se lo vuoi decrescente)

  3. #3
    [supersaibal]Originariamente inviato da ZoneForum
    ... ORDER BY campo ASC LIMIT 0,num
    (oppure DESC se lo vuoi decrescente) [/supersaibal]
    in che senso?
    "Occorre essere calmi per potersi calmare"
    (dal "Foròtica - la Via del Nèopa")

  4. #4
    [supersaibal]Originariamente inviato da armando16
    in che senso? [/supersaibal]
    Come in che senso?

    SELECT campo/i FROM tabella WHERE condizione ORDER BY campo ASC LIMIT 0,numero_di_record_che_vuoi_selezionare

  5. #5
    [supersaibal]Originariamente inviato da ZoneForum
    Come in che senso?

    SELECT campo/i FROM tabella WHERE condizione ORDER BY campo ASC LIMIT 0,numero_di_record_che_vuoi_selezionare [/supersaibal]
    ah.. dici così:

    select persona, data, soldi
    from movimenti
    order by COSA???????

    vabbe'...
    il problema è che ho già provato così:

    select persona, max(data), soldi
    from movimenti
    group by persona

    ...solo che mi restituisce una cosa del tipo

    codice:
    persona   data   soldi
      1      6/2/05  1000
      2      9/3/05    10
      3     22/3/05   500
    cioé il campo 'soldi' non corrisponde al valore del movimento alla data indicata...
    "Occorre essere calmi per potersi calmare"
    (dal "Foròtica - la Via del Nèopa")

  6. #6
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    [supersaibal]Originariamente inviato da armando16
    ah.. dici così:

    select persona, data, soldi
    from movimenti
    order by COSA???????

    vabbe'...
    il problema è che ho già provato così:

    select persona, max(data), soldi
    from movimenti
    group by persona

    ...solo che mi restituisce una cosa del tipo

    codice:
    persona   data   soldi
      1      6/2/05  1000
      2      9/3/05    10
      3     22/3/05   500
    cioé il campo 'soldi' non corrisponde al valore del movimento alla data indicata... [/supersaibal]
    Devi fare 2 query, la prima simile all'ultima che hai fatto ma senza l'attributo soldi:

    select persona, max(data)
    from movimenti
    group by persona

    Cicli questa query e ti trovi i soldi:

    select soldi
    from movimenti
    where data=data_di_prima and persona=persona_di_prima

  7. #7
    [supersaibal]Originariamente inviato da Teuzzo
    Devi fare 2 query, la prima simile all'ultima che hai fatto ma senza l'attributo soldi:

    select persona, max(data)
    from movimenti
    group by persona

    Cicli questa query e ti trovi i soldi:

    select soldi
    from movimenti
    where data=data_di_prima and persona=persona_di_prima [/supersaibal]
    già... ma io volevo fare UNA SOLA stringa query.

    secondo voi si può usare DISTINCT in questo caso?
    "Occorre essere calmi per potersi calmare"
    (dal "Foròtica - la Via del Nèopa")

  8. #8
    HO RISOLTO INSTALLANDO MYSQL 4.1.10 E USANDO DUE QUERY ANNIDATE.

    BYE
    "Occorre essere calmi per potersi calmare"
    (dal "Foròtica - la Via del Nèopa")

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.