我有一个postgres数据库,保存的数据结构如下:
App-Type | App-Version | Version-Number | Description | Number
---------|-------------|----------------|------------ |---------
Android | Bulls | 1.0 | APK | 100
iOS | Bulls | 1.0 | plist | 100
Android | Bulls | 1.0 | APK | 99
Android | Titans | 1.0 | APK | 100
iOS | Titans | 1.0 | plist | 100
iOS | Titans | 1.0 | plist | 99
Android | Titans | 1.0 | APK | 98
我需要编写一个sqlalchemy表达式来获取每个应用程序类型和每个应用程序版本的最大值,因此返回的数据应该如下所示。在
^{pr2}$我有很多麻烦,试图找出如何只返回应用程序版本中每个版本的每个应用程序类型的最高数字。如有任何帮助,我们将不胜感激。在
我目前正在处理的问题是
sub_query = Table.query.order_by(desc(Table.app_version), Table.app_type, desc(Table.number))
query = sub_query.group_by(Table.app_version).group_by(Table.id).distinct(Table.app_version).all()
最简单的方法是首先查找每个appType/appVersion的最大值(使用子查询),然后在这些结果上加入主查询。在
这里我们必须假设每个appType/AppVersion组合只有一个最高的数字
相关问题 更多 >
编程相关推荐