需要 Python 3.7 中的 Mysql 查询以从具有列 (table_no, is_new) 的表中选择记录
Posted
技术标签:
【中文标题】需要 Python 3.7 中的 Mysql 查询以从具有列 (table_no, is_new) 的表中选择记录【英文标题】:Need Mysql query in python 3.7 to select records from table having column (table_no, is_new) 【发布时间】:2020-11-21 05:51:04 【问题描述】:需要 Python 中的 mysql 查询从具有列 (table_no, is_new) 的表中选择记录。 table_no 是整数,is_new 是整数。所以让我们说如果我在表中有这样的数据
1. table_no: 1, is_new: 1
2. table_no: 1, is_new: 0
3. table_no: 2, is_new: 0
4. table_no: 2, is_new: 0
5. table_no: 3, is_new: 1
6. table_no: 4, is_new: 1
7. table_no: 4, is_new: 0
然后我需要选择查询来获取类似的数据
table_no: 1, is_new: 1,
table_no: 2, is_new: 0,
table_no: 3, is_new: 1,
table_no: 4, is_new: 1
换句话说,如果我在 is_new 中有 0 和 1 对应于 table_no 1 那么我需要 table_no: 1, is_new: 1, 如果我在 is_new 中只有 0 对应于 table_no 1 那么我需要 table_no: 1, is_new: 0, 如果我在 is_new 中只有 1 对应于 table_no 1 那么我需要 table_no: 1, is_new: 1
【问题讨论】:
【参考方案1】:使用max()
聚合和group by
select table_no,max(is_new) as is_new
from tablename
group by table_no
【讨论】:
以上是关于需要 Python 3.7 中的 Mysql 查询以从具有列 (table_no, is_new) 的表中选择记录的主要内容,如果未能解决你的问题,请参考以下文章
加载 MySQLdb 模块时出错 - Windows 上的 Python 3.7
使用 python 3.8+(默认协议=5)时,pickle.load 在 python 3.7 中的(协议=4)对象上失败