web2py groupby 子句中的函数

Function in web2py groupby clause

我想将 groupby 子句中的所有 NULL 行放在不同的组中。在 SQL 中,这类似于

GROUP BY IFNULL(`Y`, `X`); (参见 GROUP BY - do not group NULL)。

如何在 web2py 中执行此操作?

在许多情况下,您可以将 SQL 字符串传递给 DAL 方法,因此在这种情况下,类似于:

grouped_ids = 'GROUP_CONCAT(`id`)'
rows = db(query).select(db.mytable.myfield, grouped_ids,
                        groupby='IFNULL(`myfield`, `id`)')
print rows[0][grouped_ids]

myfield 为空时,上面将使用 id 值(唯一的)而不是 myfield