Les fonctions d'agrégation dans la clause where dans SQLite

Tout simplement, j'ai une table avec, entre autres choses, une colonne pour l'horodatage. Je veux obtenir la ligne la plus récente (c'est à dire la plus grande valeur) timestamp. Actuellement, je suis en train de faire ceci:

SELECT * FROM table ORDER BY timestamp DESC LIMIT 1

Mais je préfère faire quelque chose comme ceci:

SELECT * FROM table WHERE timestamp=max(timestamp)

Cependant, SQLite rejette cette requête:

SQL error: misuse of aggregate function max()

La la documentation confirme ce comportement (en bas de page):

Fonctions d'agrégation ne peut être utilisé dans une instruction SELECT.

Ma question est: est-il possible d'écrire une requête pour obtenir la ligne avec la plus grande timestamp sans la commande de la sélectionner et de limiter le nombre de lignes retournées à 1? Cela semble comme il devrait être possible, mais je pense que mes SQL-fu n'est pas à la hauteur.

OriginalL'auteur Kyle Cronin | 2008-12-24