Sep 26, 2016 我的网站
我们都知道SQL中适用case when then来转化数据库中的信息
比如 select (case sex when 0 then ‘男’ else ‘女’ end) AS sex from studentInfo
那么在集合函数中它有什么用呢 ?
假设数据库有一张表名为student的表。
如果现在要你根据这张表,查出江西省男女个数,广东省男生个数,浙江省男女个数 怎么写SQL语句?即要生成下结果表
答案是:select sex ,count ( case province when ‘广东省’ then ‘广东省’ end )as 广东省 ,count ( case province when ‘江西省’ then ‘江西省’ end )as 江西省 ,count ( case province when ‘浙江省’ then ‘浙江省’ end )as 浙江省 from student group by sex
count()函数即根据给定的范围和group by(统计方式) 而统计行数据的条数
我们一步步来理解上面语句
1. select sex from student (查询数据表中的存在的男女条数)
2.select sex, count (*) as num from student group by sex (查询表中男女数量)
3.select sex ,province, count (*)as num from student group by sex,province (查询各省男女数量)
重点来了,如果我把count(*) 中的 *号换成任一列名呢? 如count(province) 会怎样?
4.select sex ,province, count (province)as num from student group by sex,province (查询各省男女数量)
结果跟上图一样:这说明换不换都一样。又有count (province)等价于 count(case province when ‘浙江省’ then ‘浙江省’ else province end )
但是如果我们缩小范围呢即count(case province when ‘浙江省’ then ‘浙江省’ end ) 那么请看下面
5.select sex ,province, count ( case province when ‘浙江省’ then ‘浙江省’ end )as num from student group by sex,province
即统计男女数量范围限定在浙江省 再精简一下即下面
6.select sex, count ( case province when ‘浙江省’ then ‘浙江省’ end ) as 浙江省 from student group by sex
已经接近我们的要求了,现在只要加上另几个字段就是了
7.select sex ,count ( case province when ‘广东省’ then ‘广东省’ end )as 广东省 ,count ( case province when ‘江西省’ then ‘江西省’ end )as 江西省 ,count ( case province when ‘浙江省’ then ‘浙江省’ end )as 浙江省 from student group by sex
小结:当然实现有很多种方法 可以多个子查询拼接起来也不无可厚非。我这只是一种思路
补充:case when then 知识点
(1) select (case province when ‘浙江省’ then ‘浙江’ when ‘江西省’ then ‘江西’ end ) as 省份 from student
如果默认范围如果没全包含则为空 像上图的广东省为空
(2)select (case province when ‘浙江省’ then ‘浙江’ when ‘江西省’ then ‘江西’ else province end ) as 省份 from student
原文地址:http://www.cnblogs.com/xiaowu/archive/2011/08/17/2143445.html
May 30, 2016 我的电脑
解决方法:
单击 开始 ,单击 运行 ,键入 gpedit.msc ,然后单击 确定 。
依次展开 计算机配置 ,展开 Windows 设置 ,展开 安全设置 ,展开 本地策略 ,然后单击 安全选项 。
在右窗格中, 双击 系统加密: 使用 FIPS 兼容的算法来加密,散列,和签名 ,单击禁用 ,然后单击 确定 。
Jul 15, 2013 我的网站
升级Discuz后,点击日志提示:抱歉,您要查看的信息不存在或已被删除,但在用户日志列表里这些日志都可见,并且能显示日志摘要。
出现这个问题是因为home_blog和home_blogfield中uid不一样home_blogfield中的uid为0
可以在discuz后台,数据库升级或在phpmyadmin中执行以下关联查询更新
update pre_home_blogfield bf, pre_home_blog b set bf.uid =b.uid where b.blogid=bf.blogid
Jul 6, 2013 我的网站
在根目录下面新建web.config文件,粘贴如下代码:
Nov 15, 2012 我的网站
不知道你是否和我一样碰到了同样问题。
操作系统:windows8
IIS调试asp
安装5ucms或aspcms后,网站无法访问,进入5ucms后台输入用户名就提示Error!于是我尝试了下列操作哦:
1、开启IE的显示友好的http错误信息。
之后就看到了这句英文提示An error occurred on the server when processing the URL. Please contact the system administrator 和微软官网的一个链接。
2、进入IIS信息服务管理,在IIS的asp中,选择调试属性,将错误发送到浏览器后面选项更改为TRUE,然后点击右侧操作中的应用。
刷新网页提示错误:Active Server Pages 错误 ‘ASP 0131’
3、再进入IIS信息服务管理,在IIS的asp中,选择行为,将启用父路径选项更改为TRUE,然后点击右侧操作中的应用。
4、OK,我的网站恢复正常,你再试试!
Nov 6, 2012 我的网站
试过多种方法后未解决。
按这个帖子方法试验成功。试验前请备份。
http://www.discuz.net/thread-3095305-1-1.html
Oct 22, 2012 未分类
首先出现这个安全提示,则说明系统出现意外错误,可以在temp/Logs里面查看具体的出错信息。
本人在搬家后出现了网站整体访问都是“访问路径或参数错误”的问题,打开temp/Logs/的日志,提示ERR: (ThinkException) Access denied for user …… password:YES 此时,我看到我之前的空间的数据库IP,说明还是数据库配置问题。
然后仔细查看config文件,发现没有问题,最后整站搜索原来IP,发现~app.php文件还有原来的数据库配置信息,然后全部更改正确的信息,在访问网站,恢复正常。另外看升级文件经常说要删除~app.php,所以这里你也可以尝试直接删除~app.php后看不能访问。删除前做好备份。
~app.php在temp文件夹里。
Sep 27, 2012 未分类
【转账到银行卡,免手续费特权来袭】
亲,您享有转账到银行卡特权,1000元内免手续费,每天1次。还没领取?马上领>>
https://shenghuo.alipay.com/transfercore/fill.htm
可能点击后是500元以内额度,然后转账一次就可以升级到1000元。
Jan 1, 2012 未分类
换电脑重新安装DedeAMPZ,安装完后电脑不停提示某某盘有病毒amd.dll 12345.exe 11188.exe boot1.exe,真是郁闷。
全盘杀也杀不干净。
后来百度一下,都说是mysql的原因,仔细看了下mysql发现mysql5下的bin文件夹中有个amd.dll,果断删除,删除不掉,停止mysql后再次删除,重启启动mysql。
好了,世界恢复平静。