MySQL中使用不同查询多个非重复记录的解决方案
让我们先看一下示例。
表
我的名字
1
2 B
3 C
4 C
5 B
库结构可能是这样的,这只是一个简单的例子,实际情况要复杂得多。
例如,我希望使用语句查询所有名称不重复的数据,因此必须使用不同的方式删除冗余的重复记录。
从表中选择不同的名称
结果是:
名称
一
C
它似乎是有效的,但什么是ID值,我想得到的更改查询语句。
从表中选择不同的名称、ID
结果将是:
我的名字
1
2 B
3 C
4 C
5 B
为什么区分不起作用效果已经完成了,但他同时工作两个字段,也就是说,必须得到相同的ID和名称才能被排除在外。
我们将更改查询:
从表中选择id、不同名称
遗憾的是,除了错误的信息外,你什么也得不到,而且必须在一开始就有区别。是的,错了。
这很麻烦,不是吗确实,没有办法解决这个问题。
他把一个java程序员在公司。他告诉我,在Oracle中使用不同的方法后,他在MySQL中没有找到解决方案。最后,他建议我在下班前试着分组。
尝试了很长时间,也终于在MySQL手册找到使用,group_concat(不同的名字)与集团的名字去实现我们想要的功能,兴奋,我也尽量节省。
报告u3002 u3002 u3002 u3002 u3002 u3002 u3002 u3002 u3002 u3002 u3002 u3002melancholy.even MySQL手册带不走我的错误,第一次给了我希望,然后把我推到失望,这。
仔细一看,这group_concat功能4.1支持,晕,我4。没办法,升级,提高测试水平,成功。
终于完成了,但这样,我们也必须要求客户升级。
突然,机器闪烁,因为group_concat功能可以使用,可其他功能可以吗
急于尝试计数功能,成功,我想哭,它需要这么多时间。原来是这么简单。
现在完整的声明被释放了:
按名称从表组中选择*,计算(不同的名称)
结果:
id计数(不同的名称)
1 1
2 B 1
3 C 1
最后一项是多余的。它不需要被管理。目标是。
唉,MySQL太蠢了,他轻轻地欺骗了他。我也很沮丧。(对了,荣蓉),现在我们希望你不要为此烦恼。
哦,对了,顺便说一下,按组必须按顺序排列和限制,否则就错了。几乎所有的网站都会被发送到网站,我会一直忙着。
-----------------------------------------------------------------------------------------
更为沮丧的事情已经发生了,在准备提交、被发现的能力上,有一个更简单的解决方案。
按名称从表组中选择id、名称
看来mysql的理解太肤浅了,不怕被人笑话,也不让人犯同样的错误。
撒乌耳