如果查询多列数据,distinct怎么不起作用了?sql

如题所述

我建议你建一张纵表(一个字段的表)
将横表数据全部插入到纵表
然后用distinct可以实现你的愿望了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-15
不是distinct起不了作用,是你没有彻底理解distinct
distinct A, B, C,D 是排除了当A,B,C,D完全相同的纪录,而不是只针对a追问

我想查询多列并去掉相同的数据,那么sql语句应该怎么写呀?请指点!谢谢;我用的datalist控件绑定的数据,我这样写的:string sql = "SELECT DISTINCT SmallClassID,id,pro_imgURL FROM [Product] WHERE (BigClassID = 1)";

追答

你给个简单例子,以及你想要得结果吧。你那个没看明白你的意图。

追问

产品表:图片下面是其对应的小类名称;其中小类名称有两个是重复的,如何实现只显示第一个小类,后面的那个不显示呢》?sql语句应如何写;我用的是datalist控件?

第2个回答  2011-08-15
这种没办法,用分组吧,效率比较低,自对自做视图也可以,都是一个意思。追问

分组怎样去掉相同的数据

如果查询多列数据,distinct怎么不起作用了?sql
将横表数据全部插入到纵表 然后用distinct可以实现你的愿望了。

如果查询多列数据,distinct怎么不起作用了?
【答案】:我建议你建一张纵表(一个字段的表)将横表数据全部插入到纵表然后用distinct就可以了

...distinct无法实现只对单列去重,并显示多列结果的解决方法
好像看明白它的作用结果了,只有id和value两个字段同时重复时,select distinct语句才会把它列入“去重”清单 所以能看到id为3和4的value虽然都是4,但由于select语句中写了id字段,它也默认会对id字段起效。而且如果sql语句中把DISTINCT放到只想起效的字段前,那也是不行的...比如sql语句改为:会提示sq...

你好, 在sql中distinct 不能多列执行吗
distinct可以多列,但是得写在所有列名的前面(即select 的后面),而且count聚合函数要求能有1个参数,你在里面写了2个了。肯定不能正确执行

SQL语句 distinct 只能作用于一列而不能作用于两列?
是作用于多列的 ,看多列的组合有没有重复的,有的话就过滤 select distinct id,student,age,sex from table1 是id,student,age,sex 多列的组合没有重复;

SQL优化终于干掉了“distinct”
试验结果显示,使用GROUP BY进行去重与DISTINCT效果相同。这意味着优化DISTINCT的策略实质上是在优化GROUP BY。若SQL未使用所有查询表的列,则MySQL在找到第一个匹配项后停止扫描未使用表。这有助于提高查询效率。优化后的SQL结构明显简洁,去除了多层嵌套SQL和临时表生成。通过这种方式,不仅简化了代码,还...

SQL里的DISTINCT后面只能跟一条字段名吗?
1.因为你的ds还要用到 id content 这样必须要在sql语句里出现这两个字段,不能只有title.2.当sql中有这些字段时,distinct是过滤它后面的所有列(字段),这么多字段中只要有一个字段的内容是不同的,哪怕别的字段都相同,都视为不相同的一条记录,所以,想要过滤title是满足不了要求的.group by 也不能...

distinct,消除重复用不了
select DISTINCT xybh,sfdy,DYCDYRY,DYCDYSJ,DYSJ,dyrid from XYGL_PXJLDY where XYBH ='38039727'不可能的,因为你的sfdy,DYCDYRY,DYCDYSJ,DYSJ,dyrid from XYGL_PXJLDY列中有不同的数据。想显示一列;select DISTINCT xybh from XYGL_PXJLDY where XYBH ='38039727'...

请问sql高手distinct如何查询多条字段
因为后面的你没有操作,那么个人认为这个distinct相当于没有没有起到任何作用。而且没起到作用就要烧香了,万一是反作用,也就是先distinct处理url字段,然后跟后面的组成笛卡儿积(个人猜测,应该不太可能),那么数据量就不好说了。distinct应该是自己单独出现,类似于group by 后面的那个字段,你想想在 ...

第二十九章 SQL命令 DISTINCT
这时可以使用子查询来实现预期效果。在优化查询性能时,系统管理设置允许调整DISTINCT的处理方式,包括排序规则和索引利用。默认情况下,DISTINCT可能导致基于游标的查询不设置%ROWID,且会检索所有数据,包括未提交的事务。示例展示了不同情况下DISTINCT的用法,包括按状态、列表值、排序和与其他查询的交互。

相似回答