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

    [SQL] verifica se un elemento è presente più di una volta nel risultato di una query

    Ho una tabella di questo tipo

    PILOTA MACCHINA TEMPO DATA POSIZIONE ID
    PIPPO FERRARI 1.25.00 01/01/2007 1 1
    PLUTO FERRARI 1.25.01 01/01/2007 2 2
    PAPERINO BENETTON 1.25.02 01/01/2007 3 3
    PIPPO FERRARI 2.25.00 02/01/2007 1 4
    PAPERINO FERRARI 2.25.01 02/01/2007 2 5
    PLUTO BENETTON 2.25.02 02/01/2007 3 6


    da cui voglio estrarre i piloti che sono arrivati per più di una volta al primo posto o al secondo posto e sapere quante colte sono arrivati al primo o al secondo posto ( quindi il pilota pippo e 2 volte)
    quindi estraggo con una query estraggo tutti i piloti che sono arrivati al primo o al secondo posto...


    SELECT MACCHINA, PILOTA, TEMPO
    FROM Table1 WHERE POSIZIONE BETWEEN '1' AND '2'


    come faccio a sapere ora quante volte pippo è arrivato primo o secondo?

  2. #2
    SELECT MACCHINA, PILOTA, TEMPO, count(*) as Numerovolte
    FROM Table1 WHERE POSIZIONE BETWEEN '1' AND '2'
    group by Macchina, Pilota, Tempo

  3. #3
    Originariamente inviato da Dr_House
    SELECT MACCHINA, PILOTA, TEMPO, count(*) as Numerovolte
    FROM Table1 WHERE POSIZIONE BETWEEN '1' AND '2'
    group by Macchina, Pilota, Tempo
    come dici tu numerovolte viene sempre valorizzato a 1

    HO RISOLTO COSì

    SELECT PILOTA FROM (

    SELECT MACCHINA, PILOTA, TEMPO
    FROM Table1 WHERE POSIZIONE BETWEEN '1' AND '2'
    ) WHERE 1 GROUP BY PILOTA HAVING COUNT(*) > 1

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.