好不容易才上来了。 问一个简单的sql问题(100分)

  • 主题发起人 主题发起人 cai_10
  • 开始时间 开始时间
C

cai_10

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个表,里面有很多的重复记录, 怎样进行分组,按bh,分组, 每个bh显示一条记录

我用select *
from table1
group by bh
出错了。



select bh, xm, sex, age
from table
group by bh.

也出错了。
select bh, xm, sex, age
from table
group by bh, xm, sex, age

这样是可以显示出来。 但它先按bh然后再按xm,sex, age分组, 但我只想用bh,去分组

该怎样实现
 
在SQL查询中,分组的目的用于是用聚合函数进行计算,不能够用于其它目的,如果只是为了
排序,可以使用ORDER BY子句
 
SELECT DISTINCT bh, xm, sex, age
FROM table1
 
同意allenk
分組目的不明確.
GROUP 應與 SUM同時使用
 
如果出于你所说的目的,同意ourself
 
呵呵,补充:DISTINCT 就是删除结果表中的冗余行。
 
》》里面有很多的重复记录
干吗要用重复记录? 这在DB中是不合理的啊
 
真是很简单!但我不没会!学习[:)]
提前。。。。。。
 
select bh, xm, sex, age
from table
group by bh, xm, sex, age
ORDER BY bh, xm, sex, age
 
SELECT DISTINCT bh,xm,sex,age FROM table
就是满足你的要求.

不过你的表中有很多重复记录,表结构应该重新设计.
 
表中的重复纪录过多,说明表的结构不合理,应该尽早重新设计,不然以后会遇到很多的麻烦。目前来说,楼上的回答是最直接的办法。
 
说实话,你没说清自己的目的,我们都不清楚你到底要实现什么功能。
很难回答。
要不要求和。若不要的话,用ourself的方法。
还有,怎么会有重复的记录?
 
select distinct bh, xm, sex, age
from table
ORDER BY bh, xm, sex, age
 
后退
顶部