public string GetGroupFunction(GroupFunctionSegment groupSegment, bool withAlias, QueryBuildInfo buildInfo)
        {
            FieldSegment fieldSegment = groupSegment.SegmentToGroup;
            string       sql          = GetFieldName(fieldSegment, false, buildInfo);

            switch (groupSegment.GroupFunctionMode)
            {
            case GroupFunctionSegmentMode.Count:
                sql = " COUNT(" + sql + ") ";
                break;

            case GroupFunctionSegmentMode.Sum:
                sql = " SUM(" + sql + ") ";
                break;

            case GroupFunctionSegmentMode.CustFunc:
                sql = " " + groupSegment.CustFunction + "(" + sql + ") ";
                break;
            }
            if (withAlias)
            {
                sql = AppendAlias(sql, fieldSegment);
            }
            return(sql);
        }
        private void ProcessGroup(StringBuilder sb, GroupFunctionSegment segment, QueryBuildInfo buildInfo)
        {
            string groupFunction = GetGroupFunction(segment, false, buildInfo);

            sb.Append(groupFunction);
        }
Exemplo n.º 3
0
        protected T BaseCount()
        {
            var segment = new GroupFunctionSegment(GroupFunctionSegmentMode.Count);

            return(AddSegment(segment));
        }
Exemplo n.º 4
0
        protected T BaseCustFunc(string func)
        {
            var segment = new GroupFunctionSegment(func);

            return(AddSegment(segment));
        }
Exemplo n.º 5
0
        protected T BaseSum()
        {
            var segment = new GroupFunctionSegment(GroupFunctionSegmentMode.Sum);

            return(AddSegment(segment));
        }