当前位置: 首页 > 面试题库 >

从查询结果中获取一列值的列表

堵景天
2023-03-14
问题内容

我有一个User模型,用户可以使用相同的名称。我想获取具有给定名称的所有用户的电子邮件地址。但是,我必须对result[0].email查询结果进行处理才能仅获取一行的电子邮件。我可以使用for循环来执行此操作,但是有没有一种方法可以只获取一个字段的列表而不必每次都执行此操作?

my_result = db.session.query(my_table).filter_by(name=name)
emails = []
for r in my_result:
    emails.append(r.email)

问题答案:

不,实际上没有办法解决SQLAlchemy查询返回字典列表的事实。如果需要一组特定的字段,则只能查询那些字段,但是如果要 一个
字段的列表,则必须从结果中提取出来。以下示例获取具有给定名称的每个用户的唯一电子邮件列表。

emails = [r.email for r in db.session.query(my_table.c.email).filter_by(name=name).distinct()]


 类似资料:
  • 我有用于分页的逻辑,它工作得非常好。这个问题是为了优化/改进我是如何做某事的。 我正在运行两个查询以获得结果集。第一个查询按限制和偏移量获取所有项,第二个查询获取总计数。我需要这个总数来计算表示层中的分页链接。 我想避免运行两个查询,如果可能的话,将它们合并成一个。 例如,如果数据库中有100项,并且我运行下面的查询时为1,为20,那么查询应该返回20个结果和100个计数。我目前在两个单独的查询中

  • 问题内容: 如果每个员工有多个联系方式,我将获得多行,但我只希望每位员工列出他们的姓,名,部门名称,电子邮件和电话。 所以它应该像这样 这是我所拥有的,但不起作用: 我用以下查询解决了它: 问题答案: 如果要选择,则在子查询中,这两个联接可能是不必要的: 由于它们,您得到的行与特定人的联系人一样多。 最终查询可能类似于:

  • 本文向大家介绍Python获取SQLite查询结果表列名的方法,包括了Python获取SQLite查询结果表列名的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python获取SQLite查询结果表列名的方法。分享给大家供大家参考,具体如下: 获得查询结果表的列名: 获得所有列名: 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Py

  • 问题内容: 我想读取一个表,该表的值将是sql查询结果的列名。例如,我将table1作为.. 如果看到id = 0,则name的值为ax,name2为bx,name3为cx。将行显示为id,name,name2,name3而不是行。现在,我希望查询结果看起来像这样: 有人可以帮助我实现这一目标吗? 问题答案: 这是通过 数据透视表完成的 。按分组,您为要在列中捕获的每个值发出语句,并使用诸如聚合之

  • 问题内容: 我正在尝试查询“标签”列中的所有唯一值。标签列中的每一行都可以包含多个值。因此,在不被迫进行规范化的情况下,如何查询多值列? 示例行: 问题答案: 如果最大元素数量是可预测的,则可以使用此方法(请注意,您需要使用,而不是) 看起来有些笨拙,但应该可以完成工作。未经测试,因此,在值之前或之后可能会出现一个逗号逗号

  • 问题内容: 我在Oracle数据库11g中使用Pl / SQL。 我正在编写一个将select语句作为参数(varchar2)的函数。该函数使用for循环遍历行并将格式应用于特定的列,并输出整个内容。基本上,我需要某种方式来获取列名,以便可以在顶部显示它们。我知道有多种方法可以对表执行此操作,但是由于传入了此查询,因此可能未选择所有列,可能已使用别名等。 有没有一种方法可以从此查询中选择列名? 理

  • 问题内容: 好的,这是我的查询: 当它提取数据时,我得到了video_id的正确行,但它为其他每个类别都提取了第一行。因此,当我得到类别1的video_id的最大结果时,我得到了最大ID,但表的第一行是url,日期,标题和说明。 如何获取与最大ID结果相对应的其他列? 编辑:固定。 问题答案: 我会尝试这样的事情: 这比您自己的解决方案要快得多

  • 问题内容: 我想在我的SQL查询中将结果返回为- 我有一个名为employee的表,其列名称,薪水,地址。该查询应返回employee表中的前两个最高列值。 这应该是单个查询。 问题答案: 如果最高的列是,请执行以下操作: 您将对其他任何列执行相同的操作,只需在和部分中替换列名称即可。