我有一个服务器whit whitigames,我有问题,我的数据库,我需要查询mysql只有第二个最好的分数名称..谁能帮助我? 这是我的数据库:
DATA_BASE
name | kills
------+------
Leon | 22
Andy | 14
Brian | 8
我需要得到安迪的名字,并从安迪身上杀死! 代码:
"SELECT * FROM `DATA_BASE` ORDER BY `kills` DESC"
请帮助我!我可以使用限制来做到这一点吗?我该怎么办? THKS
答案 0 :(得分:2)
您可以使用LIMIT
关键字,如下所示:
SELECT * FROM DATA_BASE ORDER BY kills DESC LIMIT 1, 1
答案 1 :(得分:1)
这应该可以解决问题:
SELECT * FROM DATA_BASE ORDER BY kills DESC LIMIT 1 OFFSET 1;
LIMIT 1
限制所选行数,OFFSET 1
将行偏移1,导致仅选择第二行。
答案 2 :(得分:0)
尝试:
SELECT name FROM DATA_BASE ORDER BY kills DESC LIMIT 1,1
这应该只返回第二个,因为我们想要1个选项(第二个数字),我们想要将它偏移1(第一个数字)
答案 3 :(得分:0)
试试吧。 应限制为1个记录并从记录2开始。
"SELECT * FROM DATA_BASE ORDER BY kills DESC LIMIT 1 OFFSET 1"
答案 4 :(得分:0)
SELECT * FROM (SELECT * FROM DATA_BASE ORDER BY kills DESC LIMIT 2) AS DB ORDER BY kills LIMIT 1;
我们可以通过使用MAX本机函数而不使用LIMIT来做同样的事情:
SELECT MAX(kills) FROM DATA_BASE WHERE kills NOT IN ( SELECT Max(kills) FROM DATA_BASE);
与之前的
相比更容易