Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 25 su 25
  1. #21
    Originariamente inviato da optime
    implicitamente lo fa, visto che l'unico campo della select del rigo 5 e' ID. se vuoi, per pulizia, metti ID alla select del rigo 3
    C'è una clausola contraria a TOP n ? Cioè, per prelevare le ultime n righe ? Ho provato con DOWN o BOTTOM, ma niente

  2. #22
    codice:
    SELECT TOP n *
    FROM Messaggio
    WHERE id NOT IN
    (
        SELECT TOP n ID
        FROM Messaggio
        ORDER BY ID
    )
    ORDER BY ID
    Questa query seleziona ESATTAMENTE l'n-esima riga!

    Però sono cmq convinto che se esiste TOP, che seleziona i primi n elementi, esisterà anche una clausola che selezione gli ultimi n elementi, ed un'altra che selezionerà gli elementi compresi tra n e m :master:


    EDIT nn va bene nemmeno così, falso allarme

  3. #23
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Le andate a capo le hai tolte vero?
    Non esiste un contrario di TOP, ma per ottenere ciò che vuoi basta usare sempre TOP ma "rovesciare" l'ordinamento della query.

  4. #24
    non c'e'. con mysql c'e' limit

  5. #25

    ESITO

    Ora ho capito il funzionamento, in pratica si selezionano i primi n elementi in un certo ordine, poi da qui si prende il primo invertendo l'ordine e il gioco è fatto

    nn fungeva perché si deve implicitamente ordinare anche nella sottoselect interna:

    codice:
    SELECT * FROM Messaggio WHERE ID=
    (
      SELECT TOP 1 id FROM
      (
        SELECT TOP n id
        FROM Messaggio
       ORDER BY id
      )
      ORDER BY id DESC
    )
    Grazie a tutti, in particolare a optime ke (almeno x ora ) ha postato la soluzione migliore!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.