82 messaggi dal 04 ottobre 2007
Salve, faccio una select SELECT TOP 6 * FROM DB ...ORDER BY ...
ma mi restituisce anche + di 6 se hanno lo stesso valore che cerco.

In pratica faccio una classifica in base ad un valore, se hanno tutti valori diversi (campo numerico) mi restituisce correttametne solo i primi 6 ma se ad esempio dal quinto al decimo hanno lo stesso valore me li mostra tutti quindi va oltre i 6 richiesti..
come posso fare per fermarmi ai primi 6 anche se ce ne sono altri con valore pari?

Grazie in anticvipo
select top ti limita il numero di risultati a quello indicato.
Non tutti i database supportano questa sintassi.

http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_top&ss=-1

SELECT top 2 * FROM Customers where customername like 'b%'


Con quale database stai lavorando? Su Access ci sono casi di questo genere e devi aggiungere una campo unique come secondo campo dell'order by.
In sql server bisogna aggiungere "with ties" e "order by..." per avere quel comportamento
Modificato da manuel0081 il 11 novembre 2015 17.12 -

Ormai programmano tutti... ma la professionalità appartiene a pochi
82 messaggi dal 04 ottobre 2007
grazie per la tua risposta, uso access ma che vuol dire aggiungere un campo unique?

questa tabella del db si "autoalimenta" da sola perche conta i click su determinati prodotti quindi è come dire una tabella dinamica...

cosa intendi per campo unique?

RETTIFICO: forse intendi aggiungere un order by ID (che è campo univoco?)
thanks
Modificato da Partisan75 il 11 novembre 2015 17.28 -
Non hai una chiave della tabella? Anche solo l'id autonumerante?
Aggiungilo nell'order by

Ormai programmano tutti... ma la professionalità appartiene a pochi
89 messaggi dal 13 aprile 2004
Non so cosa dirti ma la clausola TOP XX serve proprio per limitare a XX record restituiti e in tutte le volte che ho utilizzato questo costrutto (anche ora facendo una prova) ottengo sempre solo XX record anche se ci sono più record con uguale valore per il campo di ordinamento.

Scusate ma non mi ero reso conto che altri ti avevano già risposto
Modificato da LittleAnt il 11 novembre 2015 17.35 -
Aggiungi nell'order by il campo chiave

Ormai programmano tutti... ma la professionalità appartiene a pochi
82 messaggi dal 04 ottobre 2007
abbiamo scritto nello stesso momento, comunque ho fatto come dici tu ed è andata. grazie ancora

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.