public string Data(FormCollection collection) { string result = ""; string tableName = collection.Get("tableName"); string types = collection.Get("types[]"); string fields = collection.Get("fields[]"); Dictionary <string, string> fieldDic = new Dictionary <string, string>(); string[] typesArray = types.Split(','); string[] fieldsArray = fields.Split(','); List <string> select = new List <string>(); List <string> textFields = new List <string>(); for (int i = 0; i < fieldsArray.Length; i++) { if (fieldsArray[i] != "year") { if (typesArray[i] == "n") { select.Add($"sum({fieldsArray[i]}::float) as { fieldsArray[i]}"); } else { select.Add(fieldsArray[i]); textFields.Add(fieldsArray[i]); } } } string sql = $"select {string.Join(",",select.ToArray())} from {tableName} group by {string.Join(",",textFields)}"; string dataString = ""; try { dataString = dbhelper.GetAsJson(CommandType.Text, sql); } catch (Exception e) { dataString = "'" + e.Message + "'"; } result = $"{{\"message\":\"success\",\"data\":{dataString} }}"; return(result); }