Python 当数据库实体的某一行与条件匹配时,如何返回该实体的总计数

Python 当数据库实体的某一行与条件匹配时,如何返回该实体的总计数,python,python-2.7,sqlite,Python,Python 2.7,Sqlite,我有一个数字列表,我循环使用它来确定数据库表中的实体是否至少匹配其中一个数字,如果匹配,我想计算这些实体在该表中出现的次数,并返回实体以及它们在表中出现的时间。由于实体可能匹配一个或多个数字,我可以使用pythons集复制数据,除非显然有更好的方法 比如说 List = [a, b, c, d] # Unknown number of entries Column 1 Column 2 column3 etc Blue a Blue

我有一个数字列表,我循环使用它来确定数据库表中的实体是否至少匹配其中一个数字,如果匹配,我想计算这些实体在该表中出现的次数,并返回实体以及它们在表中出现的时间。由于实体可能匹配一个或多个数字,我可以使用pythons集复制数据,除非显然有更好的方法

比如说

List  = [a, b, c, d]  # Unknown number of entries


Column 1    Column 2   column3 etc

Blue            a
Blue            -
Blue            a

Green           -
Red             a
Red             b
Red             c
Red             c
Red             -
Red             -
因此,我试图返回:

Blue, 3
Red, 6
我能得到的最接近的结果在下面,但没有得到想要的结果

for letter in list:

    c.execute('SELECT  colour, COUNT(*) FROM table GROUP BY colour HAVING letter=?', [(letter)])
我不知道该怎么做,任何建议都将不胜感激

响应@CL

这就是它返回的数据类型。列表中后面的嵌套包含正确的值,但第一个嵌套包含“随机”值。我无法理解这些是如何形成的,所以我不确定如何移除它们

[[(red, 1), (anotherColour, 1)], [(red, 6), (blue, 3), (anotherColour, 5) ]]

首先,获取要计数的实体:

选择不同的颜色 从MyTable 其中字母a、b、c、d 然后,使用该选项在计数前过滤实体:

选择颜色, 计数* 从MyTable 在“选择颜色”中选择颜色 从MyTable 其中字母a、b、c、d 按颜色分组 当条目数未知时,必须动态构造参数列表:

列表=['a'、'b'、'c'、'd'] 参数=','。在列表中为uu连接'?' c、 执行选择颜色, 计数* 从MyTable 在“选择颜色”中选择颜色 从MyTable 其中+参数中的字母+ 按颜色分组, 列表
为内部queryDISTINCT指定不同的颜色对于SQLite为IN查找构造的临时索引是多余的。;SQLite会忽略它。谢谢你CL。但是,由于某种原因,虽然它返回正确的结果,但它也会返回嵌套列表中颜色的其他值。我将在我的原始帖子中添加一个我的意思的例子。还有我!:D谢谢你。对此很抱歉,这是因为我在尝试解决此问题时使用了一些其他代码,因此数据看起来类似于添加到列表中。那是我的错。但是非常感谢你。