易表在线答疑技术与交流用户社区 → 如何检测某列内容没有重复数据?


  共有13511人关注过本帖树形打印复制链接

主题:如何检测某列内容没有重复数据?

帅哥哟,离线,有人找我吗?
fsrsj
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:12 积分:0 威望:0 精华:0 注册:2008/2/14 17:31:00
如何检测某列内容没有重复数据?  发帖心情 Post By:2008/2/14 17:41:00 [显示全部帖子]

表内有一列内容按规定不能出现重复数据,请教各位高手帮忙给出刷新公式如何写?
要判别的是第一列,公式写在第二列,无重复的加一*号就行。egd文件下载

 回到顶部
帅哥哟,离线,有人找我吗?
fsrsj
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:12 积分:0 威望:0 精华:0 注册:2008/2/14 17:31:00
  发帖心情 Post By:2008/2/14 17:46:00 [显示全部帖子]

例子中只有第3、7、8是合格的。

 回到顶部
帅哥哟,离线,有人找我吗?
fsrsj
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:12 积分:0 威望:0 精华:0 注册:2008/2/14 17:31:00
  发帖心情 Post By:2008/2/15 7:47:00 [显示全部帖子]

谢谢各位,今早才上机。
回答都对,是我的问题不严密。数据每一行可能都是不一样的,不仅是字母,数字、汉字也都有可能,只要本行内数据各不相同就行了。第六行没有重复因此是对的。
再如某行"1352461"不合格,"我是一个兵"就合格。

 回到顶部
帅哥哟,离线,有人找我吗?
fsrsj
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:12 积分:0 威望:0 精华:0 注册:2008/2/14 17:31:00
  发帖心情 Post By:2008/2/15 10:12:00 [显示全部帖子]

还是我没说明白。
也就是说,只要本行内的字符不重复就算合格。再具体点说假如是“1g38j上1”
这样的数据,只要其中的“1”就重复出现了。而其他并未重复,所以其不合格。
所以此问题与字符集关。

 回到顶部
帅哥哟,离线,有人找我吗?
fsrsj
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:12 积分:0 威望:0 精华:0 注册:2008/2/14 17:31:00
  发帖心情 Post By:2008/2/15 13:47:00 [显示全部帖子]

谢谢czy 总版主。
你的第一个公式就对了,后写的不知为何提示“表达式中存在语法错误”。
怎样才能正常呢,前一个是出现了嵌套,后一个比较简练。

 回到顶部
帅哥哟,离线,有人找我吗?
fsrsj
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:12 积分:0 威望:0 精华:0 注册:2008/2/14 17:31:00
  发帖心情 Post By:2008/2/15 14:43:00 [显示全部帖子]

再次感谢,完全正确。
你是怎么想出来的,只有一句的表达式限制,我是怎么也弄不上来,用多行程序我倒会写,可没有这样方便简单。

 回到顶部
帅哥哟,离线,有人找我吗?
fsrsj
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:12 积分:0 威望:0 精华:0 注册:2008/2/14 17:31:00
  发帖心情 Post By:2008/2/15 16:26:00 [显示全部帖子]

czy总版主做到这个份上已属不易,已经够简练了。
那我们就假定,数据只是汉字一种,这样就可省去判断单双字节的啰嗦。对吗?

-=-=-=- 以下内容由 fsrsj2008年02月15日 04:58pm 时添加 -=-=-=-
一个思路是把每个字符与剩下的字符串相比较,只要有重复即结束比较。

 回到顶部
帅哥哟,离线,有人找我吗?
fsrsj
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:12 积分:0 威望:0 精华:0 注册:2008/2/14 17:31:00
  发帖心情 Post By:2008/2/15 17:14:00 [显示全部帖子]

谢谢wjq1072高手:
您的公式对已知数据的全部集合时是完全正确的,只是我未说明白,当数据的集合太大时,如汉字,这样就无法适应了。我有思路,但不会写公式,就是按位将待判数据逐个取出与余下的比较,只要遇到相同的即结束比较,都未遇到相同的就打上“*”号。


 回到顶部
帅哥哟,离线,有人找我吗?
fsrsj
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:12 积分:0 威望:0 精华:0 注册:2008/2/14 17:31:00
  发帖心情 Post By:2008/2/17 11:16:00 [显示全部帖子]

多谢wjq1072和czy总版主。此题虽无普遍意义,但对数据库数据的统计处理还是有用的。以上只是单个字符,如果是不定长的数据可能就更复杂了。所以期盼新易表早日推出,让我们能通过多行编程轻松解决这个问题。

 回到顶部
帅哥哟,离线,有人找我吗?
fsrsj
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:12 积分:0 威望:0 精华:0 注册:2008/2/14 17:31:00
  发帖心情 Post By:2008/2/19 13:49:00 [显示全部帖子]

回WJQ1072:
所问正是。例:“1 23  56 89 012”等就是。它实际是未重复的,由于不等长,故原来的算法就不能正确处理。
-----------------------------------
请问:何谓“不定长的数据”?是指一字符串吗?那一个字符串与另一字符串之间总应该有分隔‘字符’吧?


-=-=-=- 以下内容由 fsrsj2008年02月19日 01:50pm 时添加 -=-=-=-
对了,分隔字符是空格。

 回到顶部
总数 12 1 2 下一页