C#对SQL中数据库的某几个字段结合进行数量统计
C#对SQL中数据库的某几个字段组合进行数量统计
我要在C#中操作表
比如 我在数据库中表是这样的
籍贯 性别 身高
江苏 男 183
上海 女 182
江苏 女 178
湖南 女 180
江苏 男 183
我现在就是想统计籍贯,和性别这两个字段组合起来各个参数的数目
就是说江苏男有多少,上海女有多少,江苏女有多少。。。
这个语句怎么写?
急求
------解决思路----------------------
select count(*),籍贯,性别 from xxx group by 籍贯,性别
------解决思路----------------------
加个group by不就行了
select 籍贯,性别,count(*) from 表 group by 籍贯,性别
------解决思路----------------------
select 籍贯,性别,count(1) from 表 group by 籍贯,性别 order by 籍贯,性别
------解决思路----------------------
使用sql语句读取到DataTable中,
参见:http://blog.****.net/duanzi_peng/article/details/17414629
------解决思路----------------------
对啊,datatable里默认列名不就是数据库的列名吗
你可以直接在SQL语句里指定别名,也可以等读到datatable里之后修改列名
------解决思路----------------------
上面的汇总sql都有了,返回的datatable 写到excel,可以用下面这个帖子
http://bbs.****.net/topics/390201171
------解决思路----------------------
这是2个问题:
1.sql查询问题:
直接group by即可,楼上都是正确的。自己在数据库中先试一下查询结果,正确即可。
2.DataTable导出到Excel的问题:
这要使用第三方代码才行的,也有很多方案,超大数据量(比如几百万条记录的DataTable)和小数据量的导出(小于几万条),效率也不一样。有些是要使用Excel.EXE,就是依赖office,要安装office的。有些是独立的,直接引用现成的dll即可。
有些办法可以定制各种漂亮的表头、样式、自定义单元格等等,有些则不能附加样式。
需要什么样的效率,要实现怎样的效果,就要看实际情况了。
我要在C#中操作表
比如 我在数据库中表是这样的
籍贯 性别 身高
江苏 男 183
上海 女 182
江苏 女 178
湖南 女 180
江苏 男 183
我现在就是想统计籍贯,和性别这两个字段组合起来各个参数的数目
就是说江苏男有多少,上海女有多少,江苏女有多少。。。
这个语句怎么写?
急求
------解决思路----------------------
select count(*),籍贯,性别 from xxx group by 籍贯,性别
------解决思路----------------------
加个group by不就行了
select 籍贯,性别,count(*) from 表 group by 籍贯,性别
------解决思路----------------------
select 籍贯,性别,count(1) from 表 group by 籍贯,性别 order by 籍贯,性别
------解决思路----------------------
使用sql语句读取到DataTable中,
参见:http://blog.****.net/duanzi_peng/article/details/17414629
------解决思路----------------------
对啊,datatable里默认列名不就是数据库的列名吗
你可以直接在SQL语句里指定别名,也可以等读到datatable里之后修改列名
------解决思路----------------------
上面的汇总sql都有了,返回的datatable 写到excel,可以用下面这个帖子
http://bbs.****.net/topics/390201171
------解决思路----------------------
count(*)不就是数量吗
可以给它取个别名
select 籍贯,性别,count(*) as 人数 from 表 group by 籍贯,性别
我的意思是用这样的语句,最后在C#中填充到datatable里面的时候格式是 籍贯 性别 数量 么
对啊,datatable里默认列名不就是数据库的列名吗
你可以直接在SQL语句里指定别名,也可以等读到datatable里之后修改列名
这是2个问题:
1.sql查询问题:
直接group by即可,楼上都是正确的。自己在数据库中先试一下查询结果,正确即可。
2.DataTable导出到Excel的问题:
这要使用第三方代码才行的,也有很多方案,超大数据量(比如几百万条记录的DataTable)和小数据量的导出(小于几万条),效率也不一样。有些是要使用Excel.EXE,就是依赖office,要安装office的。有些是独立的,直接引用现成的dll即可。
有些办法可以定制各种漂亮的表头、样式、自定义单元格等等,有些则不能附加样式。
需要什么样的效率,要实现怎样的效果,就要看实际情况了。