sql语句按月统计合计概率

    public DataSet Getdata(DateTime start, bool se, string oper)
        {
            string where = string.Empty;
            string sqlstr = string.Empty;
            SqlParameter[] paras;


            sqlstr = @"SELECT "
                     + "mMonth 月份,isnull(e1,0) 北,isnull(i1,0) 外
                     + "FROM  "
                     + "(SELECT 1 AS 'mMonth'  "
                     + " UNION SELECT 2 AS 'mMonth'  "
                     + "UNION SELECT 3 AS 'mMonth'  "
                     + " UNION SELECT 4 AS 'mMonth'  "
                     + "UNION SELECT 5 AS 'mMonth'  "
                     + " UNION SELECT 6 AS 'mMonth'  "
                     + " UNION SELECT 7 AS 'mMonth'  "
                     + " UNION SELECT 8 AS 'mMonth'  "
                     + "UNION SELECT 9 AS 'mMonth'  "
                     + " UNION SELECT 10 AS 'mMonth'  "
                     + "UNION SELECT 11 AS 'mMonth'  "
                     + " UNION SELECT 12 AS 'mMonth') m  "
                     + "left JOIN  "
                     + "(  "
                     + "SELECT Month(C.[RECEIVE_TIME]) as 月份,  "
                     + "Count(CASE WHEN C.COMPLAINT_TYPE=325 and P.[CARD_NET_ID]=1301 THEN C.ID ELSE NULL  END) e1, "
                     + "Count(CASE WHEN C.COMPLAINT_TYPE=325 and P.[CARD_NET_ID]<>1301 THEN C.ID ELSE NULL END) i1, "
             
                     + "Count(C.ID) heji "
                     + "FROM [COMPLAINTS] as C inner join [INFO] as P on C.[PRECINCT_INFO_ID]=P.ID "
                     + "where YEAR(C.[TIME])=@START "
                     + "GROUP BY Month(C.[TIME])   "
                     + ") b "
                     + "on m.mMonth=b.月份 order by m.mMonth asc";


            paras = new SqlParameter[] 
                {
                   new SqlParameter("@START",SqlDbType.Int),
                };
            paras[0].Value = start.Year;
            DataSet ds = new DataSet();
            DataTable dtt = SqlHelper.ExecuteSqlDataSet(sqlstr, paras, "t").Tables[0];
            String[] totalRow = new String[10];
            for (int i = 1; i < dtt.Columns.Count; i++)
            {
                // 赋值
                totalRow[i] = dtt.Compute("SUM(" + dtt.Columns[i].ColumnName + ")", "true").ToString();
            }
            DataTable dt = UpdateDataTable(dtt);

            if (int.Parse(totalRow[9]) > 0)
            {
                float e = float.Parse(totalRow[9]);
                float scale1 = (float.Parse(totalRow[1]) / e) * 100;

                dt.Rows.Add("合计", totalRow[1]);
                dt.Rows.Add("占比", scale1.ToString("0.00") + "%");
                //dt.Rows.Add("", a + b, c + d, f + g, "", "", "");
            }
            else
            {
                dt.Rows.Add("合计", totalRow[1]);
                dt.Rows.Add("占比", 0);
                //dt.Rows.Add("", a + b, c + d, f + g, "", "", "");
            }


            ds.Tables.Add(dt);
            return ds;




        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值