问个数据库的问题

jinhui402407250 2010-09-10 11:50:12
insert into test(username,time1,time2,num)
select 'as1','2010-09-08 10:50','2010-09-08 10:58','10' union
select 'as1','2010-09-08 10:50','2010-09-08 11:58','15' union
select 'as1','2010-09-08 11:30','2010-09-08 12:58','16' union
select 'as1','2010-09-08 11:30','2010-09-08 13:58','8' union
select 'as2','2010-09-08 13:50','2010-09-08 10:58','10' union
select 'as2','2010-09-08 13:50','2010-09-08 11:58','15' union
select 'as2','2010-09-08 11:30','2010-09-08 12:58','16' union
select 'as2','2010-09-08 11:30','2010-09-08 13:58','8'

根据username来先分组,然后取time1最大的那条记录,如果time1有相等的就取 time2较大的那条记录
结果如下
4 as1 2010-09-08 11:30:00.000 2010-09-08 13:58:00.000 8
8 as2 2010-09-08 13:50:00.000 2010-09-08 11:58:00.000 15

除了以下这种方法,还有比较简便的写法吗?
select c.* from test c ,
(
select b.username, max(time2)time2 from test b,
(
select username, max(time1) time1 from test
group by username
)a where b.username=a.username and b.time1=a.time1
group by b.username
)d where c.time2=d.time2 and c.username=d.username
...全文
95 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
尐孑 2010-09-10
  • 打赏
  • 举报
回复
关注
jinhui402407250 2010-09-10
  • 打赏
  • 举报
回复
2楼的不错,还有没有别的方法啊
kissesyan 2010-09-10
  • 打赏
  • 举报
回复

Select * from (
select rank() over(partition by userName order by time1 desc,time2 desc) as Rows,
* from dbo.test) a
where Rows=1
内容概要:本文针对功率阶跃工况下光储虚拟同步发电机(VSG)并网系统存在的电能质量问题,提出一种自适应治理策略。通过Simulink搭建完整的光储VSG并网系统仿真模型,重点研究在功率突变条件下系统出现的频率波动、电压畸变及谐波增加等动态问题。所提策略结合VSG的惯量与阻尼特性,设计了参数自适应调节机制,实现对系统动态响应过程的有效调控,显著提升了并网电流波形质量与频率稳定性,增强了系统在强扰动工况下的鲁棒性与电能质量治理能力。; 适合人群:具备电力电子、自动控制理论及新能源并网技术基础的科研人员、电气工程及相关专业的硕士/博士研究生,以及从事微电网、储能系统、VSG控制研发的工程技术人员。; 使用场景及目标:①用于分析光储系统在功率阶跃等动态工况下的并网特性与电能质量演变规律;②为VSG关键控制参数(如惯量、阻尼)的自适应整定提供设计思路与仿真验证平台;③支撑高水平学术论文复现、科研课题攻关及实际工程项目的前期控制策略验证。; 阅读建议:建议结合Simulink仿真模型深入理解控制策略的实现逻辑,重点关注VSG惯量阻尼协同调节的自适应机制设计,可通过设置不同功率阶跃幅度、光照强度变化及负载投切等多场景进行仿真测试,全面评估策略的动态性能与适用边界。

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧