根据要求限制 1 个 sqlite 的多个结果
More than one result on request with limit 1 sqllite
结果是一行,但是bonus字段的值相同的有好几个人
SELECT Name, bonus
From employees
ORDER by bonus
Limit 1
结果
Ivan 100
但必须是
Ivan 100
Petr 100
做了这个,但我觉得很困惑:
SELECT Name, bonus
From employees
Where bonus= (SELECT id From employees ORDER by bonus Limit 1)
在 SQLite 中,您可以使用 RANK 或 dense_rank window 函数来实现
select name, bonus
from (select name, bonus, dense_rank() over(order by bonus desc) dns_rnk from employees)
where dns_rnk = 1;
在子查询中,它将根据奖金对员工进行排名,外部查询将过滤掉不需要的行。
结果是一行,但是bonus字段的值相同的有好几个人
SELECT Name, bonus
From employees
ORDER by bonus
Limit 1
结果
Ivan 100
但必须是
Ivan 100 Petr 100
做了这个,但我觉得很困惑:
SELECT Name, bonus
From employees
Where bonus= (SELECT id From employees ORDER by bonus Limit 1)
在 SQLite 中,您可以使用 RANK 或 dense_rank window 函数来实现
select name, bonus
from (select name, bonus, dense_rank() over(order by bonus desc) dns_rnk from employees)
where dns_rnk = 1;
在子查询中,它将根据奖金对员工进行排名,外部查询将过滤掉不需要的行。