distinct是什么意思 distinct中文是什么意思近义词是什么(SQL中关于distinct关键字的四种用法)

编辑:
发布时间: 2021-02-11 21:18:35
分享:

原因是distinct只能返回其目标字段,不能返回其他字段。这个问题困扰了我很久。如果distinct解决不了,我只能用双循环查询来解决,这无疑会直接影响一个数据量大的站的效率。所以我花了很多时间研究这个问题,在网上也找不到解决的办法。期间,我拉着荣蓉帮忙。结果我俩都抑郁了。让我们先来看看这个例子:

桌子

id名称

1 a

2 b

3°c

4°c

5 b

图书馆结构是这样的。这只是一个简单的例子,实际情况会复杂得多。

例如,如果我想用一条语句查询所有名称不重复的数据,我必须使用distinct来删除冗余的重复记录。

一个

从表中选择不同的名称

结果是:

名字

a

b

c

看似达到了效果,但我要的是id值?更改查询语句:

从表中选择不同的名称、id

结果将是:

id名称

1 a

2 b

3°c

4°c

5 b

为什么截然不同的方法不起作用?它工作,但同时在两个字段上工作,也就是说,相同id和名称的字段将被排除。。。。。。。

让我们再次更改查询语句:

从表中选择id、不同的名称

不幸的是,除了错误信息,你什么也没有得到。distinct必须放在开头。在哪里的条件下很难区分?是的,还是报错。。。。。。。

麻烦吗?的确,每一次努力都没能解决这个问题。没办法。继续问人。

我在公司抓了一个JAVA程序员。他向我展示了distinct在oracle中的使用,但我在mysql中找不到解决方案。最后,下班前,他建议我分组试试。

我试了很久,还是不行。最后在mysql手册里找到了一个用法,用group_concat和group by name实现了我需要的功能。我很兴奋。上帝保佑我。赶紧试试。

报告错误。。。。。。。。。。。。郁闷。。。。。。。就连mysql手册都和我过不去,先是给了我希望,然后又把我推向失望,这是残酷的。。。。

再仔细检查一下,group_concat函数是4.1支持的,我的函数是4.0。没办法。升级。升级后,尝试成功。。。。。。

最后做到了,但是这样就必须要求客户升级。

突然灵机一动。既然可以使用group_concat函数,那么其他函数能工作吗?

快试试计数功能,成功了,我。。。。。。我想哭。花了这么多时间。。。。。。。。原来是这么简单。。。。。。

现在发布完整的声明:

按名称从表组中选择*,计数

结果:

id名称计数

1 a 1

2 b 1

3 c 1

相关阅读
热门精选
皮肤 孕妇