Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    395

    estrarre record con esclusione in percentuale

    Buongiorno.
    Ho la necessità di estrarre dei record ed in base ad una percentuale escludere i primi X e gli ultimi X.

    mi spiego. la lista dei record non è sempre uguale. a volte estraggo 64 record a volte 67 a volte 30 ecc.
    io da questa estrazione devo togliere il 10% in testa ed alla fine.
    chiaro però che se i record estratti sono 64 dovrò togliere i primi e gli ultimi 6. se invece sono 67 devo toglierne 7 all'inizio e 7 alla fine.

    Come lo risolvo in modo semplice?
    Ci sto ragionando ma non mi viene il sistema.

    Grazie

  2. #2

  3. #3
    select * from tabella where id not in (select top 10% id from tabella order by id asc union select top 10% id from tabella order by id desc)

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    395
    Quote Originariamente inviata da optime Visualizza il messaggio
    select * from tabella where id not in (select top 10% id from tabella order by id asc union select top 10% id from tabella order by id desc)
    Operazione non consentita nella sottoquery.

    Il database è access

  5. #5
    select * from tabella where id not in (select top 10 percent id from tabella order by id asc union select top 10 percent id from tabella order by id desc)

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    395
    Quote Originariamente inviata da optime Visualizza il messaggio
    select * from tabella where id not in (select top 10 percent id from tabella order by id asc union select top 10 percent id from tabella order by id desc)
    avevo già provato col percent ma da errore ugualmente

  7. #7
    forse è la union che dà fastidio

    select * from tabella where id not in (select top 10 percent id from tabella order by id asc) AND id NOT IN (select top 10 percent id from tabella order by id desc)

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    395
    funziona. ora però mi sono incasinato. ho una colonna che si chiama colpi. Come la escludo dalla conta?
    pensavo di fare where colpi <> 0 ma tiene sempre conto nel 10percent anche il valore 0

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    395
    risolto, bastava metterlo nella select.
    ultima domanda. ho notato che tiene conto dei valori univoci. mi spiego. nella colonna colpi può darsi che ci siano due con lo stesso numero. e me li esclude tutti. come faccio a tagliare il 10 percento esatto? cioè su 70 record deve escludere solo i primi 7 anche se il record 8 ha lo stesso numero di colpi del record 7

  10. #10
    è una caratteristica di access, a volte utile a volte dannosa. non credo che ci sia soluzione con una query secca

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.