如何使用“Min()”创建SQL Pypika查询

2024-05-23 19:29:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个Pypika查询,它使用SQL的MIN(“”)函数。Pypika supports the function但我不知道怎么用。你知道吗

基本上我想用Pypika创建这个SQL语句:

select 
"ID","Car","Road","House"
  from "thingsTable"
 where "ID" not in
 (
 select MIN("ID")
 from "thingsTable"
 GROUP BY 
"Car","Road","House"
)
order by "ID"

我试过这样的方法:

from pypika import Query, Table, Field, Function

query = Query.from_(table).select(min(table.ID)).groupby(table.Car, table.Road, table.House)

以及它的变体,但不知道如何使用这个函数。这方面的例子并不多。你知道吗

提前谢谢。你知道吗


Tags: the函数fromidsqltableminquery
1条回答
网友
1楼 · 发布于 2024-05-23 19:29:58

试试这个

基于Selecting Data with pypika的代码

from pypika import functions as fn

tbl = Table('thingsTable')
q = Query.from_(tbl).where(
    tbl.ID.isin(tbl.groupby(tbl.Car, tbl.Road, tbl.House).select(fn.Min(tbl.Id)))
).select(
    tbl.Id,tbl.Car,tbl.House,tbl.Road
).orderby(tbl.Id)

相关问题 更多 >