SQL Server 分组排序查询语句

ryan211 2007-10-25 09:17:17
Table1:
公司编号   公司名称
1       xxx
2       yyy
3       zzz


Table2:
信息编号   排序字段<数字>  公司编号  信息标题
1         2        3     qqqq
2         3        3     qqqq
3         1        3     qqqq
5         2        2     qqqq
6         1        1     qqqq 


按公司编号分组,每个公司只显示一条记录.记录是属于该公司,并且排序字段最小的一条记录.

结果:
公司名称 公司编号  信息标题  信息编号


...全文
662 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxmcxm 2007-12-15
  • 打赏
  • 举报
回复
select a.公司名称,a.公司编号,b.信息标题,b.信息编号
from table1 a,table2 b,
(select 公司编号,min(排序字段) 排序字段 from table2 group by 公司编号) c
where a.公司编号=b.公司编号 and b.公司编号=c.公司编号 and b.排序字段=c.排序字段
莫忘 2007-12-15
  • 打赏
  • 举报
回复

public static void main
QQ30871740 2007-10-25
  • 打赏
  • 举报
回复
select
a.公司名称,a.公司编号,b.信息标题,b.信息编号
from
table1 a,
table2 b
where
a.公司编号=b.公司编号
and
b.排序字段=(select max(排序字段) from table2 where 公司编号=a.公司编号)

----------------------------------------------

是正确的好不好,的确是按照的排序字段最小的排的
你把排序字段一起查出来就看到了
ryan211 2007-10-25
  • 打赏
  • 举报
回复
试过了,还是排不了序
子陌红尘 2007-10-25
  • 打赏
  • 举报
回复

select
a.公司名称,a.公司编号,b.信息标题,b.信息编号
from
table1 a,
table2 b
where
a.公司编号=b.公司编号
and
b.排序字段=(select max(排序字段) from table2 where 公司编号=a.公司编号)
EmeraldSword 2007-10-25
  • 打赏
  • 举报
回复
CREATE TABLE TABLE1
(
公司编号 int identity,
公司名称 varchar(8)
)
GO

CREATE TABLE TABLE2
(
信息编号 int identity(1,1),
排序字段 int,
公司编号 int,
信息标题 varchar(8)
)
GO

INSERT INTO TABLE1
SELECT 'xxx'
UNION ALL
SELECT 'yyy'
UNION ALL
SELECT 'zzz'
GO

INSERT INTO TABLE2
SELECT 2,3,'qqqq'
UNION ALL
SELECT 3,3,'qqqq'
UNION ALL
SELECT 1,3,'qqqq'
UNION ALL
SELECT 2,2,'qqqq'
UNION ALL
SELECT 1,1,'qqqq'
GO

SELECT A.公司名称, A.公司编号, B.信息标题, B.信息编号
FROM
TABLE1 A INNER JOIN TABLE2 B
ON(A.公司编号 = B.公司编号)
WHERE NOT EXISTS(SELECT 1 FROM TABLE2 WHERE 公司编号 = B.公司编号 AND 排序字段 < B.排序字段)

DROP TABLE TABLE1
GO
DROP TABLE TABLE2
GO
ryan211 2007-10-25
  • 打赏
  • 举报
回复
我解决了

select
a.Company,a.ComID,b.title,b.id,b.orderid
from
table1 a,
table2 b
where
a.ComID=b.Comp_ID
and
b.id=(select top 1 id from table2 where Comp_ID=a.ComID order by orderID asc)
ryan211 2007-10-25
  • 打赏
  • 举报
回复
当排序字段多个值为0的时候,就会多出记录.
我的要求是每个公司只显示一条,你试试看

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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