簡體   English   中英

如何為不同的值列表連續獲取唯一值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM