与此问题类似:NOT IN vs IN Do Not Return Complimentary Results
基本上我试图回答这个问题:查找属于所有人口少于2500万的大陆的每个国家。显示名称,大陆和人口。
此处的数字7包含所有表格详细信息:http://sqlzoo.net/wiki/SELECT_within_SELECT_Tutorial
这个查询有效:它有效地占据了一个没有国家的大陆所有国家的流行音大于25毫米
SELECT name, continent, population
FROM world x
WHERE continent NOT IN(SELECT DISTINCT continent FROM world
WHERE population >= 25000000)
此查询不起作用。我试图使用select语句中没有聚合函数。这是允许的吗?目前我的子查询没有返回任何结果,所以我显然在某处错了。
SELECT name, continent, population
FROM world x
WHERE continent in (SELECT continent FROM world
having max(population) < 25000000)
答案 0 :(得分:0)
想出来,谢谢@Michael Berkowsiki在上面评论中的提示。
SELECT name, continent, population
FROM world x
WHERE continent in (SELECT continent FROM world
group by continent
having max(population) < 25000000)
答案 1 :(得分:0)
&#34;必须在GROUP BY子句中引用SELECT语句中引用的每一列,除非该列是SELECT子句中包含的聚合函数的参数。&#34; (&#34;现代数据库管理&#34;第10版,Jefferey A. Hoffer,第276页)
所以在这种情况下,我相信你的答案需要修改为:
from lxml import html
tree = html.fromstring(response.text)
top_creations_symbol_list = tree.xpath('//xpath/to/creation/symbols')
top_redemptions_symbol_list = tree.xpath('//xpath/to/redemption/symbols')