【发布时间】:2016-02-18 02:17:23
【问题描述】:
我有一个 SQL 查询如下:
select uname, city from USER
where uid =
(
select bidder from BID
group by bidder
order by count(*) desc limit 1);
SQL 查询是查找出价最多的用户的用户名和城市。但是我不知道如何在关系/扩展关系代数中表达极限运算符。
谢谢!
【问题讨论】:
-
您使用的是什么 DBMS?
-
关系代数中通常没有限制。但是这个查询不需要它。但是有很多“关系代数”,所以请提供一个你应该使用的参考。
-
如果您在按列降序排序后限制 1,那么您要求列中的最大值。具有最大值的行可以使用基本运算符表示 - 不需要排序或限制。 greatest-n-per-group 但是 COUNT per GROUP 需要基本之外的聚合运算符。