首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用python中的SQL语句将SQL LITE中的列添加到一定数量。

使用python中的SQL语句将SQL LITE中的列添加到一定数量。
EN

Stack Overflow用户
提问于 2019-06-10 04:27:24
回答 1查看 66关注 0票数 1

我在这行代码中遇到了问题。基本上,我要做的是在数据库(SQL LITE)中添加一列,然后在Python中使用SQL添加该列,直到它达到某个值,并说明达到该值的人员的姓名。

我已经使用了一大堆不同顺序的命令,如和,改变了下面语句中列出的列的顺序,这没有什么帮助,所以这是我在使用中取得最大进展的一个。

代码语言:javascript
复制
import sqlite3
conn = sqlite3.connect("Boys.db")
c = conn.cursor()
# Creating the table
class Table:
 c.execute('''CREATE TABLE IF NOT EXISTS Users (Rank INTEGER, Name INTEGER, TotalB INTEGER, Percentage INTEGER)
''')

c.execute('SELECT Name FROM Users GROUP BY Name HAVING SUM(Percentage) 
 > .5000')
rows = c.fetchall()
print('The boys who had a frequency of over 50% was...')
print(rows)

conn.commit()
# Loading in the csv data
csvfile = open('BoysCSVfromText.csv', 'r')
creader = csv.reader(csvfile)
for t in creader:
   c.execute('INSERT INTO Users VALUES(?,?,?,?)', t)
conn.close()  

该语句打印出所有百分比超过50%的男孩的名字,并按A-Z顺序排列。

我有整个列的总和(百分比),使用:

代码语言:javascript
复制
c.execute('SELECT SUM(Percentage) FROM Users')
rows = c.fetchall()
print('The boys who had a frequency of over 50% was...')
print(rows)

这不是我想要的所以现在我被卡住了。我的数据库有1000行,所以我不能在一张图片中包含所有内容,但到目前为止我所拥有的是:

Example of my database Example of the line of code

希望我已经提供了所需的所有图像。

我想要发生的是,SQL语句从我的数据库中的"Percentage“列向下移动,将所有数字相加,直到它达到值.5000,并打印出它在达到.5000计数时添加的姓氏。相反,它会以A-Z的顺序打印出所有高于.5000的男孩名字。我认为这是因为group by语句按其百分比超过.5000的名称对其进行了分组。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56518146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档