帮忙写条sql语句

秦始皇不抽烟 2012-11-01 08:51:56
就是想取得分组后表中第二大的id

例如:id fzu

5 1
6 1
7 2
8 2
9 2
取得第大id:
SELECT MAX(id) FROM table1
WHERE GROUP BY fzu
现在我想取得第二大怎么办?
...全文
234 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xb12369 2012-11-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

SQL code
select min(id) from tb where id in(select top 2 id from tb
order by id desc)
[/Quote]

+1
算盘 2012-11-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
就是想取得分组后表中第二大的id

例如:id fzu

5 1
6 1
7 2
8 2
9 2
取得第大id:
SELECT MAX(id) FROM table1
WHERE GROUP BY fzu
现在我想取得第二大……
[/Quote]
同意。
xiaodong369258 2012-11-02
  • 打赏
  • 举报
回复
select max(id) from tb
where id not in(select max(id) from tb group by fzu )
group by fzu
XBodhi. 2012-11-02
  • 打赏
  • 举报
回复


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 函数。

弯月满弦 2012-11-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
SQL code

select min(id) from tb where id in(select top 2 id from tb
order by id desc)
[/Quote]
+++++++1
王子文龙 2012-11-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
引用 1 楼 的回复:

SQL code
select min(id) from tb where id in(select top 2 id from tb
order by id desc)


+1
[/Quote]
肯定不行,人家要得是分组之后的第二位
IT刀客 2012-11-02
  • 打赏
  • 举报
回复
一楼正解
  • 打赏
  • 举报
回复

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) id FROM
(SELECT TOP (2) id FROM table1
ORDER BY id DESC) AS temTable order by id asc
这种写法可以去到范围的数据
men52676521 2012-11-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

SQL code
select min(id) from tb where id in(select top 2 id from tb
order by id desc)
[/Quote]

能实现
shelly 2012-11-01
  • 打赏
  • 举报
回复
同意1楼的
EnForGrass 2012-11-01
  • 打赏
  • 举报
回复

[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]
todayq 2012-11-01
  • 打赏
  • 举报
回复
select min(id)  from tb where id in(select top 2 id from tb 
order by id desc)

62,046

社区成员

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

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

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

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