日期:2014-05-20  浏览次数:20699 次

问个关于小算法的问题
有一个表,我想判断这个表里面某几列的值,和其所属列里面得值是否完全一致,除了循环该列里面所有得值外,有没有更好的方法?

例:
      判断tel和adres是否完全一致

name   tel     adres     ...
  a       010       test     ...
  b       010       test     ...
  c       010       test     ...

retun   true;

1,只有这一种情况返回真;
2,如果只有一列完全相同,则把该列的信息提取出来呢?



------解决方案--------------------
select count(distinct(tel) from 表

如果返回 =1 说明一样,否则 不一样,不知道这样是不是满足你的意思了
------解决方案--------------------
你这么写:
select * from test where not exists (select distinct(tel)from test);
union
select * from test where not exists (select distinct(adres)from test);
------解决方案--------------------
mark一下!
------解决方案--------------------
group by ...
------解决方案--------------------
import java.util.HashSet;
import java.util.Arrays;
import java.util.Set;
import java.util.List;
import java.util.ArrayList;

public class Test2 {

public static boolean IsArrayElementSame(java.lang.Object[] array) {
Set set = new HashSet(Arrays.asList(array));
return set.size() == 1;
}

public static boolean IsSame(String[] arg0, String[] arg1, String[] arg2) {
int iCount = 0;
List list = new ArrayList();
if (IsArrayElementSame(arg0))
list.add(arg0);
if (IsArrayElementSame(arg1)) {
iCount++;
list.add(arg1);
}
if (IsArrayElementSame(arg2)) {
iCount++;
list.add(arg2);
}
if (list.size() == 1) {
String[] abc = (String[]) list.get(0);
for (int i = 0; i < abc.length; i++)
System.out.println(abc[i]);
}
if ((iCount > = 2) || (list.size() != 1))
return true;
else
return false;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
String[] array1 = { "1 ", "1 ", "2 " };
String[] array2 = { "abc ", "abc ", "abc " };
String[] array3 = { "123 ", "123 ", "abcd " };
System.out.println(IsSame(array1, array2, array3));
}

}