我目前正在努力解决以下问题:
| NAME | ID |
|____________|____________|
AAA *NULL*
AAA 31
AAA 81
BAL *NULL*
BDX *NULL*
CAL *NULL*
CAL 11
我想在以下情况下选择一次名称: - 如果有一个具有指定ID的名称 - >选择这一行 - 如果没有指定id(NULL) - >选择这一行
所以预期的结果应该是:
| NAME | ID |
|____________|____________|
AAA 31
BAL *NULL*
BDX *NULL*
CAL 11
非常感谢任何帮助。顺便说一句:我正在使用Informix数据库。
答案 0 :(得分:1)
select name, max(id) as id
from your_table
group by name
答案 1 :(得分:0)
使用Min
会产生所需的结果(仅在当前情况下),因此您可以将Min
和Max
同时用于案例,这样您就可以涵盖这两种情况...... < / p>
select Name, Min(ID) as ID
from your_table
group By Name