【python】asq中group_by用法

A. 原生sql语句与asq语句对比

假设有这样一个sql查询语句:

select id,ip,ch,date from tbl group by ch,date;

如要使用python的asq模块的group_by方法,则可以这样实现:
(1)通过sql查询所有记录得出res_list;
(2)然后使用asq功能:
       
    query(res_list).group_by(lambda p: p[2], lambda p: p[3]).select(lambda mem: mem[0]).to_list();

    其实主要逻辑就是通过sql获取所有数据,然后asq先分组,再选取每组的第一条记录,最后返回结果列表。

B.关于优势
另外,如果只有一条查询语句,是没必要使用asq模块功能的,因为性能不可能与原生sql查询要好。相对于原生sql查询,asq主要的优势是某些情况下,可以尽量的减少扫描表的次数。

你可能感兴趣的:(【python】asq中group_by用法)