永发信息网

能否用SQL语句实现"分组查询后,取各小组最上面一条记录"?

答案:3  悬赏:40  手机版
解决时间 2021-02-08 22:10
如:
公司ID 人才ID 时间
GS1 RC1 2006-6-13
GS1 RC1 2006-6-25
GS2 RC1 2006-6-13
GS2 RC1 2006-6-25

如何用纯粹SQL语句实现,只得到每个公司的最新入职的人才记录?
即:
GS1 RC1 2006-6-13
GS2 RC1 2006-6-13

务请不吝赐教.

补充说明:非常感谢computer_kill的回答,
首先承认我的一个错误,最新的记录其实应该是
GS1 RC1 2006-6-25
GS2 RC1 2006-6-25
其次,你的方法,我已经试过N次,都不行,原因是:
我想得到最新记录的所有字段,但是象你说的用" SELECT TOP 1 * "配合"group by"是不行的,不知道你试过没,结果都提示"该列不包含在聚合函数中也不包含在Group by中".
最佳答案
SELECt 公司ID, 人才ID, 时间
FROM TABLE
WHERe 时间 = (SELECt MAX(A.时间) FROM TABLE A WHERe A.公司ID= B.公司ID)
上面可以得到每个公司最新入职的人才的记录,如果这个公司最新入职的有多个人同样也可以查出来。
全部回答
SELECt TOP 1 * FROM 表名 group by 公司ID ORDER BY 时间 desc 注意只得到每个公司的最新入职的人才记录,一定要在时间上降序排列 否则你说是GS1 RC1 2006-6-25 新那 GS1 RC1 2006-6-13 还是新?
你的意思是 以 x1 为条件 查 字段2 吧? 这和分组有关吗? 按我的理解是这样的 select 字段2 字段3 from tablename where 字段3=x1 结果 b1 x1 b2 x1 b3 x1
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
南京哪个会计实操培训班好,靠谱的,能学到东
娇点燃脂好吗?有作用不
横江的介绍
通信类考研考什么
从国外回来,在飞机到达到所有程序(行李,检
【甲午战争120周年】2014年是中日甲午战争纪
荔波县黔南农家风味餐馆怎么去啊,谁知道地址
男友说带我去看他生病的家人该去吗
买一个篮球需要m元,买一个排球要n元,则买3
手机进水后一直重复开关机开机只出现标识就关
汇原饮料剩下5天过期能喝吗
玖龙纸业董事长张茵最近得了一个什么“木兰奖
昆明哪里可以考健身教练国家职业资格证书?
玉朋老汤骨头手工面我想知道这个在什么地方
雪佛兰景程机盖漏油怎么办啊
推荐资讯
动脉导管未闭行导管封堵术的禁忌证是A.心力衰
八方客副食地址在哪,我要去那里办事
粮食补贴是按人补发还是按分的地补发
如图是有关碳循环的图解,下列叙述不正确的是
太平庄村村(太平前街)在哪里啊,我有事要去这
【吴的组词】吴怎么组词
早期的wps文档在wps2016中打开是乱码?
西套定点金银加工店地址在什么地方,想过去办
一个类中可以有多个方法具有相同的名字和类型
百川北路/行知大道(路口)这个地址在什么地方
小亮和街板面太和NO.2怎么去啊,有知道地址的
在蔗糖溶液中发生质壁分离的细胞,它的原生质
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?