相关疑难解决方法(0)

peewee可以嵌套SELECT查询,以便外部查询选择内部查询的聚合吗?

我正在使用peewee2.1与python3.3和sqlite3.7数据库.

我想执行某些SELECT查询,其中:

  1. 我首先选择一些聚合(计数,总和),按一些id列分组; 然后
  2. 然后,我从(1)的结果中选择,聚合其聚合.具体来说,我想计算(1)中具有每个聚合值的行数.

我的数据库有一个'Event'表,每个事件有1条记录,还有一个'Ticket'表,每个事件有1..N票.每个故障单记录都包含事件的id作为外键.每张票还包含一个"席位"列,用于指定购买的座位数.("票"最好被认为是活动中一个或多个席位的购买交易.)

下面是两个使用这种SQLite查询的例子,它给了我想要的结果:

SELECT ev_tix, count(1) AS ev_tix_n FROM 
(SELECT count(1) AS ev_tix FROM ticket GROUP BY event_id)
GROUP BY ev_tix

SELECT seat_tot, count(1) AS seat_tot_n FROM
(SELECT sum(seats) AS seat_tot FROM ticket GROUP BY event_id)
GROUP BY seat_tot
Run Code Online (Sandbox Code Playgroud)

但是使用Peewee,我不知道在指定外部查询时如何选择内部查询的聚合(计数或总和).我当然可以为该聚合指定一个别名,但似乎我不能在外部查询中使用该别名.

我知道Peewee有一个执行"原始"SQL查询的机制,我已经成功地使用了这种解决方法.但我想了解是否/如何使用Peewee直接完成这些查询.

sql sqlite python-3.x peewee

2
推荐指数
1
解决办法
1832
查看次数

标签 统计

peewee ×1

python-3.x ×1

sql ×1

sqlite ×1