现在有一张表RepLogs,如下:
id emCode
-------------------
1 00891
2 00567
3 00140
4 00891
5 00214
6 00140id为自动增长,emCode字符类型
现需要一SQL语句,得到如下表:
id emCode
--------------------
6 00140
5 00214
4 00891
2 00567 要求:id为降序,emCode做类似group by或distinct方法筛选重复的。
最好用一句SQL语句达到效果,不需要存储过程或其它方法
谢谢!
id emCode
-------------------
1 00891
2 00567
3 00140
4 00891
5 00214
6 00140id为自动增长,emCode字符类型
现需要一SQL语句,得到如下表:
id emCode
--------------------
6 00140
5 00214
4 00891
2 00567 要求:id为降序,emCode做类似group by或distinct方法筛选重复的。
最好用一句SQL语句达到效果,不需要存储过程或其它方法
谢谢!
解决方案 »
- SQL SERVER数据库时间点恢复.
- 十万火急:救助,关于sql远程访问提示出错:用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。
- SQL2005备份类型 没有事务日志选项
- 一个分组统计的问题,请教!
- 大家救命啊!!!为什么这个sql在sql server 的查询器上运行ok可是到了asp,jsp上就不行了阿 小弟跪问
- 一個統計平均數的SQL語句
- 數據合並問題
- 在配置sqlmail的时候,如用的是outlook express ,该怎么设置邮件配置文件?
- 看看怎么设计查询效率最高!
- 我在访问本机的网站,打不开怎么办,如何解决
- 写一个SQL的数据插入语句,但不对,大家帮忙看下!
- 请问SET TRANSACTION ISOLATION LEVEL设置的事物隔离等级是针对单个事务的,还是针对数据库连接的?
where not exists(select 1 from tb where emCode=a.emCode and id>a.id)
order by id desc
*
from
tb t
where
id=(select max(id) from tb where emCode=t.emCode)
order by
id desc
create table test2(id int,emcode varchar(50))insert test2
select 1,'00891'
union all
select 2,'00567'
union all
select 3,'00140'
union all
select 4,'00891'
union all
select 5,'00214'
union all
select 6,'00140'
select max(id) as id ,emcode from test2 group by emcode order by id desc
前面肿么这么快
CREATE TABLE #tb1
(
id INT IDENTITY(1,1),
emCode VARCHAR(50)
)
INSERT INTO #tb1 VALUES ('00891')
INSERT INTO #tb1 VALUES ('00567')
INSERT INTO #tb1 VALUES ('00140')
INSERT INTO #tb1 VALUES ('00891')
INSERT INTO #tb1 VALUES ('00214')
INSERT INTO #tb1 VALUES ('00140')
SELECT T2.* FROM (SELECT MAX(id) id FROM #tb1 GROUP BY emCode) T1 INNER JOIN #tb1 T2 ON T1.id = T2.id ORDER BY T1.id DESC
DROP TABLE #tb1/*id emCode
----------- --------------------------------------------------
6 00140
5 00214
4 00891
2 00567(4 行受影响)*/
select * from
(select * ,row_number() over (partition by emCode order by id desc) as row from RepLogs)
as T where T.row = 1