无法在SQLite中加入和过滤数据

时间:2015-05-31 22:41:33

标签: sqlite

我在执行此查询时遇到问题。首先是.schema:

CREATE TABLE cities (name text, state text);
CREATE TABLE weather (city text, year int, warm_month text, cold_month text, average_high int);

我有一个城市名称/州值的表格,然后是一张上面列出的列的天气表。我需要查询以查找州内所有城市的平均高温平均值。

我的查询如下:

select city, avg(average_high) from weather
  ...> inner join cities
  ...> on name = city
  ...> group by state;

这实际上显示了每个州的正确平均值,但它显示的是城市名称而不是州名称。我知道我在选择陈述中要求城市,我从不在任何地方选择州...我想我需要一个额外的选择陈述但我不知道语法。

2 个答案:

答案 0 :(得分:1)

怎么样?

选择州,平均(average_high)

答案 1 :(得分:1)

谢谢maxymoo - 昨天我解决了,但你的解决方案是正确的。更正的查询是:

 select state, avg(average_high) from weather
        inner join cities
        on name = city
        group by state;

出于某种原因,我认为我不能要求state,因为它不在weather表中。由于我在查询的下一行内部加入cities,我可以!