[英]How to get a unique value in a row for different list of values?
这是我写的查询:
select c.id, CONCAT(c.major_version, '.', c.minor_version) as versions
from event_ids c
where c_id in ('101') group by c_id, major_version, minor_version;
这是我得到的结果
ID | 版本 |
---|---|
101 | 0.0 |
101 | 1.0 |
101 | 2.0 |
101 | 3.0 |
我正在尝试针对同一 id 的不同值列表获取单个值。
ID | 版本 |
---|---|
101 | 0.0 |
1.0 | |
2.0 | |
3.0 |
如何编写查询以获得所需的结果?
尝试这个
select (case when rowNumber = 1 then c_id else null end) id, versions
from (
select ROW_NUMBER() OVER( PARTITION BY c.c_id ORDER BY major_version) as rowNumber, c.c_id,
CONCAT(c.major_version, '.', c.minor_version) as versions
from event_ids c
where c_id in ('101') group by c_id, major_version, minor_version
) tempTable
你可以试试
select case when c.major_version = 0 and c.minor_version = 0 then c.id else null
end as id,
CONCAT(c.major_version, '.', c.minor_version) as versions
from event_ids c
where c_id in ('101') group by c_id, major_version, minor_version;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.