我有下表
表结构:
CREATE TABLE IF NOT EXISTS `people` (
`name` varchar(10) NOT NULL,
`age` smallint(5) unsigned NOT NULL,
PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
插入一些值:
INSERT INTO `people` (`name`, `age`) VALUES
('bob', 13),
('john', 25),
('steve', 8),
('sue', 13);
执行查询:
SELECT MAX( `age` ) , `name` FROM `people` WHERE 1
预期结果:
25, John
生成的结果
25, bob
我们可以通过使用这个查询来实现这一点
SELECT `age`, `name` FROM `people` ORDER BY age DESC LIMIT 1
问题 1:我在这里犯了什么错误,为什么这个 MAX 函数没有返回相关的行信息?
问题2:用MAX函数还是ORDER BY子句哪个好用?