3

我正在尝试创建一个使用 SQL 的 MIN('') 函数的 Pypika 查询。Pypika支持该功能,但我不知道如何使用它。

基本上我想在 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)

及其变体,但无法弄清楚如何使用此功能。周围没有很多例子。

提前致谢。

4

1 回答 1

3

试试这个

基于使用 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)
于 2019-10-14T12:31:27.877 回答