sql 语名中怎样使用 distinct?

来源:百度知道 编辑:UC知道 时间:2024/06/30 02:06:49
一个学生信息搜索,数据库中有许多重名的学生,需要把重名的学生去掉,知道用distinct可以删除重复字段,但试了好多次都不能用,我的语名是这样的
sql="select * from [user] where (" & translate(keyword,"xuexiao") & ") order by userid desc"

搜索user表中关键词学校的学生信息,学生姓名的字段为name,该怎样使用distinct去掉重名?
多谢指点!!!
sql=select distinct name from [user] where (" & translate(keyword,"xuexiao") & ")
这个显示结果会出现数据显示不完整的错误,几天了,难道没人能帮忙解决一下这个问题吗?

你需要的是消除结果集中的重复行吧.

比如在SQL SERVER2005中标准的格式是这样的SELECT DISTINCT column_name[,column_name...]

意思是只需要在SELECT后面,要显示的自段前面加入DISTINCT就可以了.

所以修改你的SQL语句:select distinct * from [user] where (" & translate(keyword,"xuexiao") & ") order by userid desc即可

给我看看你的结果,我不知道你具体有什么列也不是很清楚你要达到什么目的~打个比方 名字"黎明" 36岁 名字"黎明" 38岁 如果你"SELECT DISTINCT 名字,年龄 FROM A" 他会显示出两行~

大意.把你程序中的*改成你要去的重复列.改成name 要是显示别的列.看格式[]加.我这台机器没有SQL没法验证.应该是下面的样子大致
修改:select distinct name from [user] where (" & translate(keyword,"xuexiao") & ") order by userid desc

去掉排列顺序BY USERID DESE.你想如果由名字显示.并不会有一个因为名字的升降序

这两天比较忙没时间上来看.SQL忘差不多了问了问朋友select distinct * from [user] where (" & translate(keyword,"xuexiao") & ") order by userid desc应该没有问题的。你在看看你表的结构是不是别的地方不对了

*的意思是所有内容,你应该把distinct加在primary key前面。