我正在创建一个简单的php文件,以读取最近添加到phpMyAdmin数据库中的3条记录。我面临的问题是我希望最后3条记录按升序排列,而我只能按降序排列。我尝试了以下对某些其他人有用的代码,但在phpMyAdmin中对我不起作用。
SELECT * FROM (
SELECT * FROM studio ORDER BY studioId DESC LIMIT 3
)
ORDER BY studioId;
这就是我将代码实现到php文件中的方式。
$sql = "SELECT * FROM (SELECT * FROM studio ORDER BY studioId DESC LIMIT 3) ORDER BY studioId";
$query = mysqli_query($conn, $sql);
if (mysqli_num_rows($query) > 0) {
while($row = mysqli_fetch_assoc($query)) {
echo $row["studioName"]." ".$row["studioAddress"]." ".$row["studioPCode"]." ".$row["studioTelNo"]."<br/>";
}
} else {
echo "There Are No Studios Added";
}
由于某些原因,以上代码仅在我用此行替换以上代码的第一行时才有效。
$sql = "SELECT * FROM studio ORDER BY studioId DESC LIMIT 3";
这是我用来创建表格工作室的代码。
CREATE TABLE Studio (
studioId INT(5) NOT NULL,
studioName VARCHAR(50) NOT NULL,
studioAddress VARCHAR(50) NOT NULL,
studioPCode VARCHAR(7) NOT NULL,
CONSTRAINT
ck_studioPCode CHECK(studioPCode LIKE '___ ___'),
studioTelNo VARCHAR(11) NOT NULL,
CONSTRAINT ck_studioTelNo CHECK(LEN(studioTelNo) = 11),
PRIMARY KEY(studioId),
UNIQUE(studioName)
);
最佳答案
使用别名,这可能有效
$sql = "SELECT * FROM (SELECT * FROM studio ORDER BY studioId DESC LIMIT 3) AS stdId ORDER BY studioId";
尝试这段代码,让我知道它是否仍然无法正常工作