SQL - 选择GROUP BY中未列出的相同值

时间:2016-05-15 21:08:29

标签: sql group-by

在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) { } });

1 个答案:

答案 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;
相关问题