INNER CODE UNIT · Python
SQL
beader/tianchi_nl2sql · code/nl2sql/utils/__init__.py:83
class SQL:
op_sql_dict = {0: ">", 1: "<", 2: "==", 3: "!="}
agg_sql_dict = {0: "", 1: "AVG", 2: "MAX", 3: "MIN", 4: "COUNT", 5: "SUM"}
conn_sql_dict = {0: "", 1: "and", 2: "or"}
def __init__(self, cond_conn_op: int, agg: list, sel: list, conds: list, **kwargs):
self.cond_conn_op = cond_conn_op
self.sel = []
self.agg = []
sel_agg_pairs = zip(sel, agg)
sel_agg_pairs = sorted(sel_agg_pairs, key=lambda x: x[0])
for col_id, agg_op in sel_agg_pairs:
self.sel.append(col_id)
self.agg.append(agg_op)
self.conds = sorted(conds, key=lambda x: x[0])
@classmethod
def from_dict(cls, data: dict):