1.网页预览
咨询员姓名-昨日预约(2013-07-22)-昨日到诊(2013-07-22)-本月预约(单位:人)-本月到诊(单位:人)
这些字段都在一个表内:(z_hzmanage)表:
我现在登录主管理员用户了,进入系统首页,我要让他显示,每个用户成员,昨日预约多少人(统计一下),昨日到诊多少人(统计一下),本月预约多少人(统计一下),本月到诊多少人(统计一下)。下面是我写的:
<?php
$yesterday=date("Y-m-d",strtotime("-1 day"));
$sql="select distinct z_username,count(*) as aa,z_username from z_hzmanage where z_yydate='$yesterday' group by z_class";
$query=mysql_query($sql);
$num=mysql_num_rows($query);
?>page页面
<table width="100%" align="center" border="0" cellspacing="0" cellpadding="0" class="table_boder03 mar_top10">
<tr>
<th width="15%">咨询员姓名</th>
<th width="18%">昨日预约(<?php echo $yesterday; ?>)</th>
<th width="17%">昨日到诊(<?php echo $yesterday; ?>)</th>
<th width="18%">本月预约(单位:人)</th>
<th width="20%">本月到诊(单位:人)</th>
</tr>
<?php while($row=mysql_fetch_array($query)){?>
<tr>
<td><?php echo $row['z_username'];?></td>
<td><a href="#">(<?php echo $row['aa'];?>人)</a></td>
<td></td>
<td></td>
<td></td>
</tr>
<?php }?>
</table>这样写只能查询昨天预约的统计人数,我现想让昨日到诊的、本月预约的、本月到诊的都显示出来。该怎么写啊,可把我给难住了,菜鸟,不太懂啊!请各位帮帮忙,感激不尽!。
MySQLSQL
咨询员姓名-昨日预约(2013-07-22)-昨日到诊(2013-07-22)-本月预约(单位:人)-本月到诊(单位:人)
这些字段都在一个表内:(z_hzmanage)表:
我现在登录主管理员用户了,进入系统首页,我要让他显示,每个用户成员,昨日预约多少人(统计一下),昨日到诊多少人(统计一下),本月预约多少人(统计一下),本月到诊多少人(统计一下)。下面是我写的:
<?php
$yesterday=date("Y-m-d",strtotime("-1 day"));
$sql="select distinct z_username,count(*) as aa,z_username from z_hzmanage where z_yydate='$yesterday' group by z_class";
$query=mysql_query($sql);
$num=mysql_num_rows($query);
?>page页面
<table width="100%" align="center" border="0" cellspacing="0" cellpadding="0" class="table_boder03 mar_top10">
<tr>
<th width="15%">咨询员姓名</th>
<th width="18%">昨日预约(<?php echo $yesterday; ?>)</th>
<th width="17%">昨日到诊(<?php echo $yesterday; ?>)</th>
<th width="18%">本月预约(单位:人)</th>
<th width="20%">本月到诊(单位:人)</th>
</tr>
<?php while($row=mysql_fetch_array($query)){?>
<tr>
<td><?php echo $row['z_username'];?></td>
<td><a href="#">(<?php echo $row['aa'];?>人)</a></td>
<td></td>
<td></td>
<td></td>
</tr>
<?php }?>
</table>这样写只能查询昨天预约的统计人数,我现想让昨日到诊的、本月预约的、本月到诊的都显示出来。该怎么写啊,可把我给难住了,菜鸟,不太懂啊!请各位帮帮忙,感激不尽!。
MySQLSQL
解决方案 »
- 问个小问题哦...删除记录后..自增的ID中间断了几个号码怎么解决?在线等~~~
- 执行mysqldump备份数据库时出现outfile disabled错误
- mysql创建表格的问题
- 可重复读的问题
- 请问,postgresql有没有像sqlserver那样的profiler事件探查
- 请教如何连续输入日期?
- 请问如何动态(在程序中)使用Sql语句设定主键!!
- 求助下:一个表中用了5、6个blob类型的字段存放的是图片流,查询的时候很慢,如何优化
- 有什么语法错误?谢谢指导下,存储过程 动态参数 字符串拼接
- 求oracle存储过程转mysql存储过程 多谢大神
- 联网后每分钟插入一条数据,判断联网时间
- ubuntu下mysql问题
参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
创建表;
CREATE TABLE `z_hzmanage` (
`z_id` int(11) NOT NULL auto_increment,
`z_yyh` varchar(25) default NULL,
`z_uname` varchar(10) NOT NULL,
`z_sex` int(10) unsigned NOT NULL default '0',
`z_age` varchar(10) default '0',
`z_area` int(15) unsigned NOT NULL default '0',
`z_tel` varchar(15) default NULL,
`z_jzbz1` varchar(25) default NULL,
`z_jzbz2` varchar(25) default NULL,
`z_dzdate` varchar(30) default NULL,
`z_yydate` varchar(30) default NULL,
`z_isxf` int(5) unsigned NOT NULL default '0',
`z_source` int(10) unsigned NOT NULL default '0',
`z_isfbz` int(10) unsigned NOT NULL default '0',
`z_iszsl` int(10) unsigned NOT NULL default '0',
`z_jzys` int(10) unsigned NOT NULL default '0',
`z_content` text,
`z_isstate` int(5) unsigned NOT NULL default '0',
`z_class` int(10) unsigned NOT NULL default '0',
`z_username` varchar(10) default NULL,
`z_systemdate` date NOT NULL default '0000-00-00',
PRIMARY KEY (`z_id`)
) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=gbk;插入数据如下:INSERT INTO z_hzmanage VALUES ('20', 'VB004', '张三', '1', '59', '3', '15986598989', '2', null, '2013-07-22', '2013-07-22', '1', '8', '1', '1', '4', '前列腺增生情况', '1', '43', '贾荣暖', '2013-07-07');
INSERT INTO z_hzmanage VALUES ('22', 'A120', '李想', '1', '25', '27', '13661324126', '13', null, '', '2013-07-25', '0', '2', '0', '0', '0', '尿痛、尿不尽', '0', '46', '于欣', '2013-07-08');
INSERT INTO z_hzmanage VALUES ('23', 'B08136', '张宏', '2', '23', '3', '13341093286', '13', null, '2013-07-22', '2013-07-22', '0', '2', '0', '0', '0', '不育', '0', '49', '刘宗利', '2013-07-08');
INSERT INTO z_hzmanage VALUES ('24', 'G0111109', '单国明', '1', '60', '3', '13520360453', '13', null, '2013-07-22', '2013-07-22', '0', '2', '0', '0', '0', '泌尿系统感染 有血尿的情况', '1', '43', '贾荣暖', '2013-07-08');
INSERT INTO z_hzmanage VALUES ('25', 'X08137', '李传山', '2', '36', '3', '18639376779', '13', null, '', '2013-07-10', '0', '2', '0', '0', '0', '早泄', '0', '49', '刘宗利', '2013-07-08');
INSERT INTO z_hzmanage VALUES ('26', 'X0111110', '吴晓东', '1', '28', '3', '18301422176', '13', null, '2013-07-22', '2013-07-22', '0', '2', '0', '0', '0', '', '0', '43', '贾荣暖', '2013-07-08');
INSERT INTO z_hzmanage VALUES ('27', 'G0121110', '董艳秋', '2', '29', '13', '13836838645', '13', null, '', '2013-07-22', '0', '1', '0', '0', '0', '', '0', '43', '贾荣暖', '2013-07-08');
INSERT INTO z_hzmanage VALUES ('28', 'X08135', '张明心', '1', '24', '3', '13611260617', '13', null, '', '2013-07-08', '0', '2', '0', '0', '0', '', '0', '49', '刘宗利', '2013-07-08');
INSERT INTO z_hzmanage VALUES ('29', '08134', '高峰', '1', '24', '3', '15719585829', '1', null, '', '2013-07-08', '0', '2', '0', '0', '0', '', '0', '49', '刘宗利', '2013-07-08');
INSERT INTO z_hzmanage VALUES ('30', 'G0121112', '张旭', '1', '42', '13', '18045933999', '13', null, '', '2013-07-10', '0', '1', '0', '0', '0', '', '0', '43', '贾荣暖', '2013-07-08');
INSERT INTO z_hzmanage VALUES ('31', 'x08231', '吴友军', '2', '24', '29', '15612351449', '0', '0', '', '2013-07-15', '0', '10', '0', '0', '0', '', '0', '49', '刘宗利', '2013-07-08');
INSERT INTO z_hzmanage VALUES ('32', 'B012108', '赵言松', '1', '40', '13', '18010030698', '13', null, '', '2013-07-22', '0', '11', '0', '0', '0', '', '0', '43', '贾荣暖', '2013-07-08');
INSERT INTO z_hzmanage VALUES ('33', 'Q1912 ', '魏有军', '1', '50', '3', '13691092145', '13', null, '2013-07-22', '2013-07-23', '0', '2', '0', '0', '0', '', '0', '52', '岳晶晶', '2013-07-09');
INSERT INTO z_hzmanage VALUES ('34', 'Q1921', '王宪明', '1', '50', '11', '13832099758', '13', null, '', '2013-07-22', '0', '2', '0', '0', '0', '', '0', '52', '岳晶晶', '2013-07-09');
INSERT INTO z_hzmanage VALUES ('35', '11', '李海涛', '1', '33', '11', '13930723909', '1', null, '', '', '0', '2', '0', '0', '0', '', '0', '52', '岳晶晶', '2013-07-09');
INSERT INTO z_hzmanage VALUES ('36', '11', '郝晓飞', '1', '28', '0', '13311129002', '0', null, '', '', '0', '2', '0', '0', '0', '', '0', '52', '岳晶晶', '2013-07-09');
INSERT INTO z_hzmanage VALUES ('37', 'Q1913', '付晓亮', '1', '30', '0', '13321123651', '咨询', '阴茎短小', '', '', '1', '2', '1', '1', '1', '', '1', '52', '岳晶晶', '2013-07-09');
INSERT INTO z_hzmanage VALUES ('38', 'J13101', '郝志', '2', '32', '29', '15810203044', '7', null, '', '', '0', '2', '0', '0', '0', '', '0', '50', '赵学广', '2013-07-09');
INSERT INTO z_hzmanage VALUES ('39', 'J13106', '秦东梅', '2', '32', '3', '18932845983', '13', null, '', '', '0', '2', '0', '0', '0', '', '0', '50', '赵学广', '2013-07-09');
INSERT INTO z_hzmanage VALUES ('40', 'X13203', '刘镇男', '1', '27', '0', '13038964566', '男性不育', '血精', '', '', '0', '2', '0', '0', '0', '', '0', '50', '赵学广', '2013-07-09');
INSERT INTO z_hzmanage VALUES ('41', 'ytf123', '王二麻子', '1', '28', '1', '13146577982', '炎症', '精索炎', '', '2013-07-18', '0', '3', '0', '0', '1', '54645', '0', '27', '夏新愿', '2013-07-18');
INSERT INTO z_hzmanage VALUES ('42', 'mvcphp12', '王二麻子', '1', '27', '2', '13146577982', '复查', '他院术后治疗无效或感染', '', '2013-07-19', '0', '3', '0', '0', '0', '', '0', '52', '岳晶晶', '2013-07-19');z_class(帮定的用户ID)、z_username(用户的姓名)、z_yydate(预约日期)、z_dzdate(到诊日期)我现在想要的工能是,查询每个用户的姓名(姓名不能重复)、然后再查询统计,昨日预约日期、昨日到诊日期、本月预约日期、本月到诊日期的个数例如这样显示:
用户姓名 昨日预约(2013-07-23) 昨日到诊(2013-07-23) 本月预约(单位:人) 本月到诊(单位:人)
贾荣暖 (6人) (6人) (6人) (6人)
刘宗利 (5人) (5人) (5人) (5人)
夏新愿 (1人) (1人) (1人) (1人)
于欣 (1人) (1人) (1人) (1人)
岳晶晶 (6人) (6人) (6人) (6人)
赵学广 (3人) (3人) (3人) (3人)
-> sum(if(z_yydate=curdate()-interval 1 day,1,0)) as `昨日预约`,
-> sum(if(z_dzdate=curdate()-interval 1 day,1,0)) as `昨日到诊`,
-> sum(if(z_yydate>curdate()-interval day(curdate()) day,1,0)) as `本月预约`,
-> sum(if(z_dzdate=curdate()-interval day(curdate()) day,1,0)) as `本月到诊`
-> from z_hzmanage
-> group by z_username;
+------------+----------+----------+----------+----------+
| z_username | 昨日预约 | 昨日到诊 | 本月预约 | 本月到诊 |
+------------+----------+----------+----------+----------+
| 刘宗利 | 0 | 0 | 5 | 0 |
| 夏新愿 | 0 | 0 | 1 | 0 |
| 岳晶晶 | 1 | 0 | 3 | 0 |
| 赵学广 | 0 | 0 | 0 | 0 |
| 于欣 | 0 | 0 | 1 | 0 |
| 贾荣暖 | 0 | 0 | 6 | 0 |
+------------+----------+----------+----------+----------+
6 rows in set, 46 warnings (0.00 sec)mysql>
sum(case when z_dzdate=DATE_SUB(curdate(),INTERVAL 1 day) then 1 else 0 end)昨日会诊,
sum(case when z_yydate >= DATE_SUB(curdate(),INTERVAL day(curdate()) day) then 1 else 0 end)本月预约,
sum(case when z_dzdate >=DATE_SUB(curdate(),INTERVAL day(curdate()) day) then 1 else 0 end)本月会诊
from z_hzmanage group by z_username;
我自己写了个