扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
select 姓名 from 表名 where 字段2 in ('三好学生','进步学生') group by 姓名 having count(distinct 字段2)=2
创新互联服务项目包括兰溪网站建设、兰溪网站制作、兰溪网页制作以及兰溪网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,兰溪网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到兰溪省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
字段2就是三好学生什么的那个字段,名称自己换一下
select top 1 id,name,age from 表 order by age desc按照年龄倒序排序,然后取第一条。考虑可能有多人年龄相同,如果都需取出,可以这样写:select id,name,age from 表 where age=(select max(age) from 表)
$second第二个条件,依次类推
AND 且 表示必须同时满足
$sql = "SELECT id FROM `fn_form_1_fangwei`WHERE fwm = '".$fwm."'"." AND second='".$second."'";
OR 或 表示满足其中之一就可以
$sql = "SELECT id FROM `fn_form_1_fangwei`WHERE fwm = '".$fwm."'"." OR second='".$second."'";
查询两张表的不同字段,一般通过连接(JOIN)来实现,需要两张表有能够相互关联的字段。
如果没有任何关联字段,直接查两个字段的话,就会出现笛卡尔积(结果为T1和T2字段的集合,结果条数为T1*T2)。
假设你的需求是两张表有关联字段ID,以内连接为例,则SQL可以写为:
SELECT T1.C1,T2.C2 FROM T1 INNER JOIN T2 ON T1.ID=T2.ID;
在mysql中,这种计算可用TIMESTAMPDIFF函数来解决,但是解决过程中需要将数据多次加工。
1、创建测试表及插入测试数据:
create table test
(time1 datetime,
time2 datetime)
insert into test values ('2015-04-03 17:01:09','2015-06-03 22:09:30')
2、目前要结算time2和time1的时间差,用如下语句:
select round(TIMESTAMPDIFF(second,time1,time2)/3600,2) from test
结果如图:
解读:
首先,先用
select TIMESTAMPDIFF(second,time1,time2) from test
来计算两个时间之间的秒数差。
然后,得到的结果除以3600,即为这两个时间之间的小时数。
最后因为要求保留2位小数,则通过round函数,四舍五入,取出2位小数即可。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流