Python 查询sqlite3数据库

Python 查询sqlite3数据库,python,sqlite,Python,Sqlite,因此,我正在查询一个名为golfDB的数据库,它由一个名为players的表和5个字段组成: 姓名(玩家姓名) totalGross(每轮总分的总和) 总轮数(已播放的轮数) PAR(制造的PAR总数) 小鸟(制造的小鸟总数) 我正在使用的函数应该根据玩家的平均得分(totalGross/totalRounds)按降序列出他们 我不完全确定如何进行这项工作,我的代码目前正在将所有组件(玩家、总分和总回合数)分离到它们自己的列表中。我当时在想,我可以将每个总分列表项目除以总轮次列表中的每个项目

因此,我正在查询一个名为golfDB的数据库,它由一个名为players的表和5个字段组成:

  • 姓名(玩家姓名)
  • totalGross(每轮总分的总和)
  • 总轮数(已播放的轮数)
  • PAR(制造的PAR总数)
  • 小鸟(制造的小鸟总数)
我正在使用的函数应该根据玩家的平均得分(totalGross/totalRounds)按降序列出他们

我不完全确定如何进行这项工作,我的代码目前正在将所有组件(玩家、总分和总回合数)分离到它们自己的列表中。我当时在想,我可以将每个总分列表项目除以总轮次列表中的每个项目,但我不确定如何将这些分数链接回相应的玩家,以便对其进行排序

我不知道这样做是否可行,所以有人有什么建议或想法吗

def queryDBplayers(cursor):
    """lists the players in order of their total gross score"""
    cursor.execute('select name, totalGross, totalRounds from players')
    answer= cursor.fetchall()
    players = list()
    for items in answer:
        players.append(items[0])
    totalGrossScore = list()
    for items in answer:
        totalGrossScore.append(items[1])
    totalRoundsScore = list()
    for items in answer:
        totalRoundsScore.append(items[2])
我想这会有用的。。。我不知道,但您可能可以精心设计查询来为您排序

另一方面,在您的情况下,更容易分离列,如
col1、col2、col3=zip(*big_list)

players,grosses,rounds = zip(*answer)
我想这会有用的。。。我不知道,但您可能可以精心设计查询来为您排序

另一方面,在您的情况下,更容易分离列,如
col1、col2、col3=zip(*big_list)

players,grosses,rounds = zip(*answer)
你把事情弄得比实际情况复杂得多

首先,我不明白你为什么拿着不同的清单胡闹。如果您有一个玩家列表,您可以使用一个键功能非常简单地对其进行排序:

players.sort(key=lambda p: float(p[1]) / float(p[2]))
但是,您根本不应该在Python中这样做。进行排序的最佳位置是在数据库中:

SELECT name, totalGross, totalRounds ORDER BY totalGross/totalRounds
与前面的问题一样,学习一些基本的SQL似乎会让您受益匪浅。

您使问题变得比需要的复杂得多

首先,我不明白你为什么拿着不同的清单胡闹。如果您有一个玩家列表,您可以使用一个键功能非常简单地对其进行排序:

players.sort(key=lambda p: float(p[1]) / float(p[2]))
但是,您根本不应该在Python中这样做。进行排序的最佳位置是在数据库中:

SELECT name, totalGross, totalRounds ORDER BY totalGross/totalRounds

与您前面的问题一样,学习一些基本的SQL似乎会让您受益。

我认为他可能需要在查询中将这些转换为十进制(+1),否则他将得到截断的整数。我怀疑wich会搞乱排序。是的,我对SQL知之甚少。这是一门课,我们应该主要靠自己来学习,但我真的很难理解它。我没有意识到你可以在语句中进行实际的除法运算。我想他可能需要在查询中将这些除法转换为十进制(+1),否则他将得到截断的整数。我怀疑wich会搞乱排序。是的,我对SQL知之甚少。这是一门课,我们应该主要靠自己来学习,但我真的很难理解它。我不知道你可以在声明中做实际的除法。