在项目中要查询用户最近登录的一条记录的 ip 直接写如下 SQL: SELECT ip,MAX(act_time) FROM users_login GROUP BY login_id; 但是这样是取不出用户登录记录中时间最大的那个 ip , 仅仅只是查到了最大时间,和 ip 没关系 找了相当多的文章,经过自己测试,发现一个比较好的方式处理这个问题,举例如下: 现在假设有一张数据表 A , 字段和数据如下: 姓名(name) 身份证(唯一标识)(id) 购买产品(pro) 价格(price) 数
select order_id FROM yzj_store_order t WHERE (t.user_id,t.order_status) IN ( SELECT user_id,order_status FROM yzj_store_order where order_status=0 AND DATE_FORMAT( create_date, '%Y-%m-%d' ) = DATE_FORMAT( CURDATE( ) - 0, '%Y-%m-%d' ) GROUP BY user_id
http://bbs.csdn.net/topics/350135010 参考 select * from a aa left join b bb on aa.id=bb.cid and bb.adddate=(select max(adddate) from b where cid=bb.cid) 自己写 Left join rechargeSheet rs on rs.PaymentCode=o.order_code and rs.CreationTime=(select MAX(
摘要: 下文讲述使用sql脚本,获取群组后记录的第一条数据业务场景说明: 学校教务处要求统计: 每次作业,最早提交的学生名单下文通过举例的方式,记录此次脚本编写方法,方便以后备查,如下所示: 实现思路: 使用开窗函数,对数据进行分组并按照提交时间进行排序后生成新的组内编号,如下所示: /* over开窗函数中 partition by分组 order by 排序 */ create table test(keyId int identity, keChengName ), name ), inD
实际中用到的SQL: select * from (select top 3 Id, case when startSignup>GETDATE() then '敬请期待' when (startSignup<GETDATE() and endsignUp>=getdate()) then '正在报名' when (StartDate<GETDATE() and EndDate>=GETDATE())or (StartDate<GETDATE() and EndDa
--判断是否重叠 SELECT * FROM TABLEName WHERE starttime BETWEEN '2008-10-01' AND '2008-10-07' OR endtime BETWEEN '2008-10-01' AND '2008-10-07' OR '2008-10-01' BETWEEN starttime AND EndTIme OR '200-10-07' BETWEEN starttime AND EndTime; --日期时间段查询 --.如果查询日期参数为
select * from bas_dredge,(SELECT C_ENTERPRISEID,MAX(D_UTIME) D_LTIME FROM BAS_DREDGE GROUP BY C_ENTERPRISEID) as temp_dredge where bas_dredge.C_ENTERPRISEID=temp_dredge.C_ENTERPRISEID and bas_dredge.d_utime=temp_dredge.d_ltime;