我把这个sql代码放在PHPMYADMIN 中以显示前4行,但是它显示了我表格的所有43行。我不知道为什么。 请帮忙!
以下是查询:
Public class main{
public static void main(String[] a){
Human AnimatedCharacter = new Human('Fry',new Seymour());
System.out.println(AnimatedCharacter.getFavoriteAnimal().isPetrifiedInDiamondium()?
"Not the episode with the dog" :
"It's the episode with the dog..");
}
}
非常感谢提前
答案 0 :(得分:1)
我认为这 可能是因为phpMyAdmin修改了SELECT语句,并添加了它自己的LIMIT子句:出于某种原因,它可能会用自己的LIMIT替换LIMIT。
phpMyAdmin插入一个LIMIT,因为默认情况下,当您在GUI中查看时,它会分页SELECT的结果,它不会立即显示大型表的所有行(有一个复选框,您可以单击以执行此操作,显示结果的第一首页。
尽管它并不总是很聪明:我遇到了一个相关的困难,即它使用FOR UPDATE将LIMIT子句插入到子查询中,而MariaDB不允许这样做……这给了我一个难题。错误。
因此,您必须记住在使用phpMyAdmin时,它将LIMIT子句添加到SQL中,它不会按原样发送到数据库。
我认为某个地方可以关闭此行为,但是OTOH我不知道那是什么。 (如果有人知道,请在评论中指出!)
答案 1 :(得分:0)
您可以使用LIMIT和OFFSET。 在你的情况下,你只需要LIMIT,因为你从0开始。
SELECT * FROM `myTable`
natural JOIN `column1`
natural JOIN `column2`
WHERE `mytable`.`something` = 1
ORDER BY mytable_date DESC LIMIT 4 OFFSET 0;
或更简单
ORDER BY mytable_date DESC LIMIT 4;