2016-02-18 62 views
1

極限算我有一個SQL查詢如下:如何表達關係代數或擴展關係代數

select uname, city from USER 
where uid = 
(
select bidder from BID 
group by bidder 
order by count(*) desc limit 1); 

SQL查詢是找到用戶的用戶名和城市誰作出的最投標。但是我不知道如何在關係/擴展關係代數中表達極限算子。

謝謝!

+0

您正在使用哪些DBMS? – Hambone

+0

關係代數中通常沒有限制。但是你不需要這個查詢。但是有很多「關係代數」,所以請給出一個你應該使用的參考。 – philipxy

+0

如果您在排序後按列降序限制1,那麼您要求列中的最大值。具有最大值的行可以使用基本操作符表示 - 不需要按順序或限制。 [tag:most-n-per-group]但是每個GROUP的COUNT需要超出基本的聚合運算符。 – philipxy

回答

1

我看着Navathe的書,在關係代數中找不到任何限制算子。這使我認爲經典關係代數中沒有限制算子。經過研究,Alexander Serebrenik確認在「relational algebra for Limit Operator」的問題!

+1

@Vicky,它對你有幫助嗎?如果是這樣,接受作爲答案讓人們知道它幫助你...或不:) –