繁体   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