簡體   English   中英

使用內部聯接從查詢返回最小值

[英]Return min value from query with inner join

我有兩個表:

表興趣點:

NAME | 投票

巴黎| rt_1

米蘭| rt_2

羅馬| rt_3

... | ...

表rtgitems:

項目| 總計

rt_1 | 22

rt_2 | 3

rt_3 | 3

rt_4 | 5

... | ...

我希望第一張表的屬性NAME在第二張表的總值中具有最小值。 例如:米蘭,羅馬。

我使用以下查詢:

SELECT POI.Name FROM POI INNER JOIN rtgitems ON POI.Vote=rtgitems.item WHERE POI.Vote = (SELECT MIN(rtgitems.totalrate) FROM rtgitems)

但不起作用,我的結果是空的。 我該怎么辦? 謝謝。

SELECT POI.Name, min(totalrate) FROM POI INNER JOIN rtgitems ON POI.Vote=rtgitems.item
GROUP BY POI.Name

每當您在sql中使用min或max kind或函數時,都應使用group by子句從表中獲取實際輸出。

SELECT POI.Name FROM POI INNER JOIN rtgitems ON POI.Vote=rtgitems.item where totalrate= (select min(totalrate) from rtgitems)
GROUP BY POI.Name 

希望能幫助到你。

嘗試SELECT POI.name FROM POI join rtgitems ON POI.vote=rtgitems.item where totalrate<=(SELECT totalrate from rtgitems order by totalrate desc limit 1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM