如何匹配列中的值?

时间:2015-08-05 21:56:38

标签: python sql python-3.x

我的文件temperature.txt包含列:

city 
avghigh 
avglow 
coldmonth 
coldavghigh
coldavglow
warmmonth 
warmavghigh
warmavglow 

我需要返回具有相同平均低温的城市的名称。 我也有这个功能:

def run_query(db, q, args=None):
    conn = sqlite3.connect(db)
    cur = conn.cursor()
    if args is None:
        cur.execute(q)
    else:
        cur.execute(q, args)
    results = cur.fetchall()
    cur.close()
    conn.commit()
    conn.close()
    return results
到目前为止我所得到的一切(如果它是正确的)

return run_query(noname.db, ('Select Cities, AvgLow from Table')

1 个答案:

答案 0 :(得分:0)

在SQL中,可以使用表上的自联接轻松完成此操作,以便为不同的城市提供匹配的AvgLow,如下所示:

Select 
t.Cities, 
t.AvgLow         
from Table1 t
INNER JOIN Table1 t1 ON t.AvgLow = t1.AvgLow 
                    and t.Cities <> t1.Cities
ORDER BY t.AvgLow;

SQLite Demo