这条SQL语句是怎么了??

HawaiiLeo 2003-03-31 05:21:32
USE NorthWind

CREATE TABLE AAA(id int, num int)

INSERT AAA VALUES(1,2)
INSERT AAA VALUES(1,3)
INSERT AAA VALUES(2,5)
INSERT AAA VALUES(3,7)

SELECT distinct [id], num FROM AAA

为什么结果中还有重复的id??

id num
----------- -----------
1 2
1 3
2 5
3 7

(4 row(s) affected)
...全文
73 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 元老 2003-04-02
  • 打赏
  • 举报
回复
好方法,我倒是将问题想得复杂化了.
jingSD 2003-04-01
  • 打赏
  • 举报
回复
用下面的语句就可以实现

select * from aaa where num in(
select min(b.num) from aaa b where aaa.id=b.id)
zjcxc 元老 2003-04-01
  • 打赏
  • 举报
回复
请教一下大力,如果不求和,即id重复的只显示第一条记录,返回如下的结果:
id num
----------- -----------
1 2
2 5
3 7
我知道增加一个自动编号的id字段是可以解决,可是在不改变表结构,只使用一条SQL语句是否可以实现呢?
pengdali 2003-03-31
  • 打赏
  • 举报
回复
USE NorthWind

CREATE TABLE AAA(id int, num int)

INSERT AAA VALUES(1,2)
INSERT AAA VALUES(1,3)
INSERT AAA VALUES(2,5)
INSERT AAA VALUES(3,7)

SELECT [id], sum(num) num FROM AAA group by id
erickleung 2003-03-31
  • 打赏
  • 举报
回复
select top 1 id, num from AAA
group by id
w_rose 2003-03-31
  • 打赏
  • 举报
回复
SELECT id, num FROM AAA group by id
zjcxc 元老 2003-03-31
  • 打赏
  • 举报
回复
按照你的语句,返回的结果本来就该如此
CrazyFor 2003-03-31
  • 打赏
  • 举报
回复
SELECT distinct [id] FROM AAA

这样就不会有重复的ID。


如果这样:
SELECT distinct [id], num FROM AAA
当ID重复时,Num不重的记录还是来出现。



XLYT 2003-03-31
  • 打赏
  • 举报
回复
distinct影响的不仅是ID,还有后面所有的字段列表中的字段。

34,590

社区成员

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

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