如何查询多个表中的数据并按时间排序?

合并排序

我想向用户展示一个供稿,该供稿将结合两种不同类型的帖子,每种帖子具有不同的架构。工会似乎不起作用,因为它们具有不同的列。我正在使用postgres和sqlalchemy

我当时想先从table1中获取条目,然后再从table2中获取条目,合并它们,然后按日期排序将是非常低效的。

编辑:

我希望能够查询帖子和图像的列表,并按进行排序created_at

帖子表和图片表:

Post
    title
    body
    created_at
    ...many more


Image
    img_url
    caption
    created_at
    ...many more
沃尔夫

一种选择:

SELECT created_at
FROM (
    SELECT created_at
    FROM Post
    UNION ALL
    SELECT created_at
    FROM Image
)
ORDER BY created_at

请注意,也可以在没有子查询的情况下完成此操作,但是我发现这种方式更清晰,这使得添加过滤器更加方便。

从技术上讲,上述查询的当前形式与以下形式相同:

SELECT created_at
FROM Post
UNION ALL
SELECT created_at
FROM Image
ORDER BY created_at

SQLAlchemy示例:

q1 = sess.query(SomeClass).filter(SomeClass.foo=='bar')
q2 = sess.query(SomeClass).filter(SomeClass.bar=='foo')

q3 = q1.union_all(q2).order_by('created_at')

具有共同祖先的具体示例(使用模型的推断版本):

class FeedItem(Base):
    id = Column(Integer, primary_key=True)

class Post(FeedItem):
    id = Column(Integer, ForeignKey('feed_item.id'), primary_key=True)
    title = Column(String(100))
    body = Column(Text())
    created_at = Column(DateTime())


class Image(FeedItem):
    id = Column(Integer, ForeignKey('feed_item.id'), primary_key=True)
    img_url = Column(String(200))
    caption = Column(Text())
    created_at = Column(DateTime())

feed_items = with_polymorphic(FeedItem, [Post, Image])
query = session.query(feed_items).order_by('created_at')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何查询多个表中的数据并按时间排序?

来自分类Dev

如何按时间顺序对 Excel 数据透视表进行排序

来自分类Dev

在React Bootstrap表中按时间排序

来自分类Dev

如何查询存储在表中的消息,以便获得按发件人分组的消息以及按时间排序的组?

来自分类Dev

在Oracle SQL中按时间查询数据

来自分类Dev

在Oracle SQL中按时间查询数据

来自分类Dev

如何查询实时数据库以获取按时间排序的特定键的对象

来自分类Dev

按时间排序json表

来自分类Dev

如何编写 linq 查询以按时间戳排序

来自分类Dev

如何在multipal左联接中使用multipal group by并按时间戳对它们进行排序?

来自分类Dev

如何按范围对数字列表进行排序并按时间顺序对结果进行分组

来自分类Dev

在Hive中,如何按时间段和数据页对日志顺序进行排序

来自分类Dev

如何在Powershell中按时间戳对文本数据进行排序

来自分类Dev

来自按时间ID排序的两列中的数据

来自分类Dev

如何从EF中的多个表查询数据?

来自分类Dev

如何在PHP中按时间值对多维数组排序?

来自分类Dev

如何按时间对vifm中的文件进行排序?

来自分类Dev

Codeigniter按时间排序-查询生成

来自分类Dev

如何在数据透视表中按混合值分组并按日期排序?

来自分类Dev

如何按时间在rails中订购多个ActiveRecords?

来自分类Dev

从DynamoDB获取按时间戳排序的数据

来自分类Dev

如何对按时间分组的mysql表中的条目进行计数

来自分类Dev

连接多个表并按行总和排序

来自分类Dev

Word:选择多个表并按列排序

来自分类Dev

Excel数据透视表按时间顺序按月分组和排序

来自分类Dev

在Java中按时间对ArrayList进行排序

来自分类Dev

一次仅显示数据库中的一项,并按时间循环遍历其他项

来自分类Dev

PHP / SQL-从两个数据库中的两个表中选择数据,然后按时间对其进行排序

来自分类Dev

查找带有大小和时间的命令,并按时间戳排序

Related 相关文章

  1. 1

    如何查询多个表中的数据并按时间排序?

  2. 2

    如何按时间顺序对 Excel 数据透视表进行排序

  3. 3

    在React Bootstrap表中按时间排序

  4. 4

    如何查询存储在表中的消息,以便获得按发件人分组的消息以及按时间排序的组?

  5. 5

    在Oracle SQL中按时间查询数据

  6. 6

    在Oracle SQL中按时间查询数据

  7. 7

    如何查询实时数据库以获取按时间排序的特定键的对象

  8. 8

    按时间排序json表

  9. 9

    如何编写 linq 查询以按时间戳排序

  10. 10

    如何在multipal左联接中使用multipal group by并按时间戳对它们进行排序?

  11. 11

    如何按范围对数字列表进行排序并按时间顺序对结果进行分组

  12. 12

    在Hive中,如何按时间段和数据页对日志顺序进行排序

  13. 13

    如何在Powershell中按时间戳对文本数据进行排序

  14. 14

    来自按时间ID排序的两列中的数据

  15. 15

    如何从EF中的多个表查询数据?

  16. 16

    如何在PHP中按时间值对多维数组排序?

  17. 17

    如何按时间对vifm中的文件进行排序?

  18. 18

    Codeigniter按时间排序-查询生成

  19. 19

    如何在数据透视表中按混合值分组并按日期排序?

  20. 20

    如何按时间在rails中订购多个ActiveRecords?

  21. 21

    从DynamoDB获取按时间戳排序的数据

  22. 22

    如何对按时间分组的mysql表中的条目进行计数

  23. 23

    连接多个表并按行总和排序

  24. 24

    Word:选择多个表并按列排序

  25. 25

    Excel数据透视表按时间顺序按月分组和排序

  26. 26

    在Java中按时间对ArrayList进行排序

  27. 27

    一次仅显示数据库中的一项,并按时间循环遍历其他项

  28. 28

    PHP / SQL-从两个数据库中的两个表中选择数据,然后按时间对其进行排序

  29. 29

    查找带有大小和时间的命令,并按时间戳排序

热门标签

归档