问个关于小算法的问题
有一个表,我想判断这个表里面某几列的值,和其所属列里面得值是否完全一致,除了循环该列里面所有得值外,有没有更好的方法?
例:
判断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));
}
}