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

    Query infame! SELECT TOP

    Ciao a tutti... può essere che sono un po' r********o io, ma è da un po che sclero su sta query, ed ora l'ho messa su una questione di principio.
    Sul forum c'è scritto che se devo prendere gli ultimi 10 record di una tabella faccio:
    codice:
    SELECT Top 10 * FROM tabella
    io nella mia query scrivo:
    codice:
    SELECT top 10 id,titolo,testo,cod_cat,cod_sottocat
    FROM mod_archivio_file
    WHERE cast(dataAvvio as unsigned) <= 20050405 AND cast(dataStop as unsigned) >= 20050405
    ORDER BY dataAvvio
    e non va... mi dice:
    -------------------------------------------------------
    SELECT top 10 id,titolo,testo,cod_cat,cod_sottocat FROM mod_archivio_file
    WHERE cast(dataAvvio as unsigned) <= 20050405 AND cast(dataStop as unsigned) >= 20050405
    ORDER BY dataAvvio
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '10 id,titolo,testo,cod_cat,cod_sottocat FROM mod_archivio_file W...
    -------------------------------------------------------

    Se io tolgo il Top 10 tutto funziona come dovrebbe... PERCHE'?

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: Query infame! SELECT TOP

    [B]
    -------------------------------------------------------
    SELECT top 10 id,titolo,testo,cod_cat,cod_sottocat FROM mod_archivio_file
    WHERE cast(dataAvvio as unsigned) <= 20050405 AND cast(dataStop as unsigned) >= 20050405
    ORDER BY dataAvvio
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '10 id,titolo,testo,cod_cat,cod_sottocat FROM mod_archivio_file W...
    -------------------------------------------------------
    Prova a mettere la lista dei campi tra parentesi

  3. #3
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    In MySQL non esiste la TOP ma la LIMIT che cmq ha una sintassi diversa.
    Come dice l'errore, dai un'occhiata alla documentazione.

    Roby

  4. #4
    azzz... ecco perchè non andava...
    L'ho risolto ordinando i record e prelevando i primi 10 con un contatore.
    Grazie

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.