请教SQL语句写法!!!!!(50分)

  • 主题发起人 主题发起人 lanter
  • 开始时间 开始时间
L

lanter

Unregistered / Unconfirmed
GUEST, unregistred user!
一个表有两个字段id,name
我想选择所有不同的name名称并按id号排列
用select id,distinct(name) from table 出错
用select distinct name,id from table 得出的集合name 还是有重复的
该怎么写呢?[:(]
 
select distinct name from table order by id
 
你的问题提的不清楚。假如一个name有多个id,你想列出哪个id
假如你想列决最大或者最小的,你可以采用:
select naem,min(id) from table group by name order by id;
 
to:ericimex01
这样不行,sqlserver提示:如果指定了select distinct 那么 order by
子句中的项就必须出现在选择列表中!
 
to lixijie:
你说得很对,我忽略了这个问题
用select naem,min(id) from table group by name order by id;提示出错
改成select naem,min(id) from table group by name order by min(id);可以正确查询
这样效率会不会较低啊?
 
那得看你的数据是否大了。不过假如在10000条以下。不会有什么影响。
 
同意lixijie
 
ok,thanks,结分
 
后退
顶部