就是想取得分组后表中第二大的id 例如:id fzu
5 1
6 1
7 2
8 2
9 2
取得第大id:
SELECT MAX(id) FROM table1
WHERE GROUP BY fzu
现在我想取得第二大怎么办?
5 1
6 1
7 2
8 2
9 2
取得第大id:
SELECT MAX(id) FROM table1
WHERE GROUP BY fzu
现在我想取得第二大怎么办?
解决方案 »
- 保存之後,css不起作用,GridView表頭的字體變得很大
- 综合网站如何实现大量文章
- 关于一段asp代码转换为asp.net代码的问题
- 怎样将增,删,改,查写到1个存储过程中啊
- Excel Select 問題
- 程序集出错
- javascript怎样调用asp.net2.0里的函数?
- 怎样判断一个dataview有没有记录?
- 在datagrid中怎样把一列为varch2(8)类型的数据显示成yyyy/mm/dd格式的样子,并且当其为00000000时,显示为"-"!
- 在线等!网页调用了豆瓣电台,如何在跳转到其他页面的时候不会刷新电台??
- GRIDVIEW 分页符上方的边框如何去掉?
- 帮忙写条sql语句
order by id desc)
[code=SQL]
CREATE TABLE WT
(
id int,
fzu int
)
INSERT INTO WT
SELECT 5,1 UNION ALL
SELECT 6,1 UNION ALL
SELECT 7,2 UNION ALL
SELECT 8,2 UNION ALL
SELECT 9,2 select t.* from
(
select max(id) id,fzu,row_number() over(order by fzu desc) as num from WT group by fzu
) t
where t.num=2 id fzu num
----------- ----------- --------------------
6 1 2(1 行受影响)[/code]
(SELECT TOP (2) id FROM table1
ORDER BY id DESC) AS temTable order by id asc
这种写法可以去到范围的数据
SELECT MAX(id) as id,fzu FROM (SELECT * FROM table1 WHERE id NOT IN (SELECT id FROM (SELECT MAX(id) as id,fzu FROM table1 GROUP BY fzu) AS T)) AS D GROUP BY fzu
SELECT TOP 1 * FROM tb WHERE IN (SELECT TOP 2 ID FROM tb GROUP BY ID ORDER BY ID DESC)
ORDER BY ASC 或
用 row_Number () grouping 函数。
where id not in(select max(id) from tb group by fzu )
group by fzu