Php 尝试选择20个具有最高时间戳值和最低ID值的项目?

Php 尝试选择20个具有最高时间戳值和最低ID值的项目?,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我试图选择具有20个最高“TimeStamp”值的行,并从这20行中选择具有最低ID值的1行: $result_last = mysql_query("SELECT * FROM (SELECT * FROM Events ORDER BY TimeStamp DESC LIMIT 20) ORDER BY ID ASC LIMIT 1"); 上面的查询不起作用,但对我来说是有意义的。这个查询有什么问题吗?错误是1248-每个派生表都必须有自己的别名,这确实是真的。这应该起作用: $resul

我试图选择具有20个最高“TimeStamp”值的行,并从这20行中选择具有最低ID值的1行:

$result_last = mysql_query("SELECT * FROM (SELECT * FROM Events ORDER BY TimeStamp DESC LIMIT 20) ORDER BY ID ASC LIMIT 1");
上面的查询不起作用,但对我来说是有意义的。这个查询有什么问题吗?

错误是1248-每个派生表都必须有自己的别名,这确实是真的。这应该起作用:

$result_last = mysql_query("SELECT * FROM (SELECT * FROM Events ORDER BY TimeStamp DESC LIMIT 20) AS T ORDER BY ID ASC LIMIT 1");

试着这样做:

$result_last = mysql_query("SELECT * FROM Events WHERE TimeStamp IN(SELECT TimeStamp FROM Events ORDER BY TimeStamp DESC LIMIT 10") ORDER BY TimeStamp ASC LIMIT 1);

你说它不起作用是什么意思。它是否返回错误?它返回了错误的数据吗?太好了。谢谢你的帮助!你搞定了那个错误。我会接受当它让我不认为mySQL支持在?