在SQL中,是否有可能在GROUP BY
子句中列出不列的相同值(如果存在)?< / p>
换句话说,我希望能够做到这样的事情:
SELECT a, IDENTICAL_VALUE(b)
FROM x
GROUP BY a;
如果IDENTICAL_VALUE
相同(即唯一),则x.b
应返回NULL
的值,否则返回//search
addresses_search_view.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
Addresses.this.addressesSAdapter.getFilter().filter(s);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
。
答案 0 :(得分:2)
您可以计算不同的值,只返回MAX
,如果只有一个。
SELECT a,
CASE WHEN COUNT(DISTINCT b) =1 THEN MAX(b) END
FROM x
GROUP BY a;
或者,(可能表现更好,因为不需要实际识别不同的值)
SELECT a,
CASE WHEN MAX(b) = MIN(b) THEN MAX(b) END
FROM x
GROUP BY a;