我想要表中最高女性的FirstName和LastName。
我尝试使用:
select FirstName, LastName
from actors
where height = (select max(height) from actors) and gender = 'F';
但它不起作用。有人能告诉我它是如何完成的吗?
答案 0 :(得分:2)
select * from <TABLE NAME> where gender = 'F'
and height = (SELECT max(height) from <TABLE NAME> where gender = 'F')
在Access 2013上测试。
答案 1 :(得分:0)
虽然我的sql很糟糕,但我认为这可以通过从子集中选择你想要的东西来解决 先选择一切
SELECT a.FirstName, a.LastName, a.height FROM actors AS a WHERE a.gender = 'F';
然后从该子集中选择所需的其他字段的最大值(高度)。
SELECT m.FirstName, m.LastName, max(m.height) FROM (SELECT.. AS a) AS m
然后根据需要过滤掉你想要的内容
SELECT f.FirstName, f.LastName FROM (SELECT..(SELECT..AS a) AS m) AS f
一起看起来像这样
SELECT f.FirstName, f.LastName FROM
(SELECT m.FirstName, m.LastName, max(m.height) FROM
(SELECT a.FirstName, a.LastName, a.height FROM
actors AS a WHERE a.gender = 'F') AS m
)as f;
我承认它很复杂,但它在我的mysql中有效;)
编辑:很多人对此错误道歉,但我认为这是关于MySQL的。这是我的第一篇文章,我想我有点兴奋。我相信子集是基本的SQL。
答案 2 :(得分:0)
我认为这会奏效。
select FirstName, LastName
from actors
where height = (select max(height) from actors where gender = 'F') and gender = 'F';