求一个SQL汇总语句

flyforfei 2011-08-20 12:04:43
表的结构如下:


一审案号 二审案号 上诉人 被上诉人 承办人 二审结果
05胶民初1721 07青民一终626 山东鑫发房地产开发公司 门松杰、青岛胶东建筑工程有限公司 赵燕 改判
07胶民初560 07青民一终1132 李瑞岗 邱大鹏 钟永全 重审
08胶民初2756 11青民一终1447 田波 胶州市民政局、胶州市公安局、汪磊 郑培臣 重审
09胶民初1690 11青民五终948 杨广波 唐素芳 尹欣芳 改判
09胶民初2910 11青民四终58 贾培山 青岛市金潮特种混凝土制品有限责任公司 周建波 改判
09胶民初739 11青民四终94 青岛太勋钢管有限公司 苏延来 张洪森 改判
09胶民初781 10鲁民提492 孙光德 山东大唐植物素有限公司 张洪森 改判
10胶民初1044 10青少民终208 李娜、初晓婷 楚宝荣 谢本宏 改判
10胶民初197 11青民五终527 王玉美、王卫东、王秀丽、王卫兵 青岛德信物业管理有限公司、林宝华 尹欣芳 改判
10胶民初2979 11青民五终528 周脉通、林光之 周脉通、林光之 谢本宏 改判
10胶民初3695 11青民五终860 辛建刚 辛建亭 尹欣芳 改判
10胶民初468 10青民一终1972 胶州市阜安街道办事处孙家岭村民委员会 杨佰有 郑培臣 重审

现在需要得到一个DataSet,以便绑定到ASP.NET GirdView控件
需要结构如下:

承办人 改判数 重审数 改发总数
。。。 。。。 。。。 。。。
。。。 。。。 。。。 。。。
。。。 。。。 。。。 。。。
合 计 。。。 。。。 。。。

请问该怎么写SQL查询语句






...全文
380 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
js_csharp 2011-08-21
  • 打赏
  • 举报
回复
mark
MSDNXGH 2011-08-21
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 huangwenquan123 的回复:]
好多个夜猫子
[/Quote]
是啊
sihonglaoren 2011-08-20
  • 打赏
  • 举报
回复
group by + sum/count
flyforfei 2011-08-20
  • 打赏
  • 举报
回复
改发总数 就是 改判数+重审数
暖枫无敌 2011-08-20
  • 打赏
  • 举报
回复
改判数 重审数 改发总数
这三个是二审结果中出现的结果嘛?怎么没看见有改发的啊?
  • 打赏
  • 举报
回复
4楼花功夫不少啊,pfpf
huangwenquan123 2011-08-20
  • 打赏
  • 举报
回复
好多个夜猫子
flyforfei 2011-08-20
  • 打赏
  • 举报
回复
四楼太强大了 佩服 多留会 让大家学习
sihonglaoren 2011-08-20
  • 打赏
  • 举报
回复
都不错,呵呵。
快溜 2011-08-20
  • 打赏
  • 举报
回复
select 承办人=isnull(承办人,'总计'),
SUM(CASE 二审结果 when '改判' THEN 1 ELSE 0 END) as 改判数,
SUM(CASE 二审结果 when '重审' THEN 1 ELSE 0 END) as 重审数,
SUM(CASE 二审结果 when '重审' THEN 1 ELSE 1 END) as 改判总数
from 案件
group by 承办人 with rollup
ycproc 2011-08-20
  • 打赏
  • 举报
回复
视图 不会吗?
sihonglaoren 2011-08-20
  • 打赏
  • 举报
回复
无灭灭吴大大大
王建野 2011-08-20
  • 打赏
  • 举报
回复
太好了,学些了。
yecai777 2011-08-20
  • 打赏
  • 举报
回复
回复的太好了,学习中……
wolf1947 2011-08-20
  • 打赏
  • 举报
回复
直接用视图啊!就可以了!那么麻烦!
暖枫无敌 2011-08-20
  • 打赏
  • 举报
回复

create table 案件
(
ID int identity(1,1) primary key not null,
一审案号 varchar(50) not null,
二审案号 varchar(50) not null,
上诉人 varchar(50) not null,
被上诉人 varchar(50) not null,
承办人 varchar(50) not null,
二审结果 varchar(20) not null
);

insert into 案件 values('05胶民初1721','07青民一终626','山东鑫发房地产开发公司','门松杰、青岛胶东建筑工程有限公司','赵燕','改判');
insert into 案件 values('07胶民初560','07青民一终1132','李瑞岗','邱大鹏','钟永全','重审');
insert into 案件 values('08胶民初2756','11青民一终1447','田波','胶州市民政局、胶州市公安局、汪磊','郑培臣','重审');

insert into 案件 values('09胶民初1690','11青民五终948','杨广波','唐素芳','尹欣芳','改判');
insert into 案件 values('09胶民初2910','11青民四终58','贾培山','青岛市金潮特种混凝土制品有限责任公司','周建波','改判');
insert into 案件 values('09胶民初739','11青民四终94','青岛太勋钢管有限公司','苏延来','张洪森','改判');
insert into 案件 values('09胶民初781','10鲁民提492','孙光德','山东大唐植物素有限公司','张洪森','改判');
insert into 案件 values('10胶民初1044','10青少民终208','李娜、初晓婷','楚宝荣','谢本宏','改判');
insert into 案件 values('10胶民初197','11青民五终527','王玉美、王卫东、王秀丽、王卫兵','青岛德信物业管理有限公司、林宝华','尹欣芳','改判');

insert into 案件 values('10胶民初2979','11青民五终528','周脉通、林光之','周脉通、林光之','谢本宏 ','改判');
insert into 案件 values('10胶民初3695','11青民五终860','辛建刚','辛建亭','尹欣芳','改判');
insert into 案件 values('10胶民初468','10青民一终1972','胶州市阜安街道办事处孙家岭村民委员会','杨佰有','郑培臣','重审');


--查询语句
select 承办人,
SUM(CASE 二审结果 when '改判' THEN 1 ELSE 0 END) as 改判数,
SUM(CASE 二审结果 when '重审' THEN 1 ELSE 0 END) as 重审数,
SUM(CASE 二审结果 when '重审' THEN 1 ELSE 1 END) as 改判总数
from 案件
group by 承办人;





<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" GridLines="Horizontal"
ShowFooter="True" OnRowDataBound="GridView1_RowDataBound" AutoGenerateColumns="false">
<FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:TemplateField HeaderText="序号">
<ItemTemplate>
<%#Container.DataItemIndex+1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="承办人" HeaderText="承办人" ReadOnly="True" />
<asp:BoundField DataField="改判数" HeaderText="改判数" ReadOnly="True" />
<asp:BoundField DataField="重审数" HeaderText="重审数" ReadOnly="True" />
<asp:BoundField DataField="改发总数" HeaderText="改发总数" ReadOnly="True" />
</Columns>
<RowStyle BackColor="#E3EAEB" />
<EditRowStyle BackColor="#7C6F57" />
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</div>
</form>
</body>
</html>


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGridView();
}
}

/// <summary>
/// 绑定案件数据
/// </summary>
public void BindGridView()
{
DataSet ds = new DataSet();
using (SqlConnection con = new SqlConnection("Data Source=localhost;uid=sa;pwd=111111;Database=CSDN"))
{
con.Open();
string strSQL = "select 承办人,SUM(CASE 二审结果 when '改判' THEN 1 ELSE 0 END) as 改判数,SUM(CASE 二审结果 when '重审' THEN 1 ELSE 0 END) as 重审数, SUM(CASE 二审结果 when '重审' THEN 1 ELSE 1 END) as 改发总数 from 案件 group by 承办人";
using (SqlDataAdapter adapter = new SqlDataAdapter(strSQL, con))
{
adapter.Fill(ds);
}
}
this.GridView1.DataSource = ds;
this.GridView1.DataBind();
}

private int sum1 = 0; //改判总数
private int sum2 = 0; //重审总数
private int sum3 = 0; //改发总数

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex > -1)
{
sum1 += int.Parse(e.Row.Cells[2].Text);
sum2 += int.Parse(e.Row.Cells[3].Text);
sum3+= int.Parse(e.Row.Cells[4].Text);
}
else if (e.Row.RowType == DataControlRowType.Footer) // 判断当前项是否为页脚
{
e.Row.Cells[1].Text = "总计:";
e.Row.Cells[2].Text = sum1.ToString();
e.Row.Cells[3].Text = sum2.ToString();
e.Row.Cells[4].Text = sum3.ToString();
}
}
}

程序运行最终效果如下图:

62,052

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧