我正在寻找一个查询,我可以在表格中获得唯一值(5)。例如。 该表包含更多100多列。有什么方法可以获得独特的价值。
我正在使用谷歌大查询并尝试此选项
select col1 col2 ... coln
from tablename
where col1 is not null and col2 is not null
group by col1,col2... coln
order by col1, col2... coln
limit 5
但问题是,如果所有列都为空,它会给出零记录
由于 R
答案 0 :(得分:1)
我认为您可以在Google bigquery中执行此操作,假设列的类型兼容:
select colname, colval
from (select 'col1' as colname, col1 as colvalue
from t
where col1 is not null
group by col1
limit 5
),
(select 'col2' as colname, col2 as colvalue
from t
where col2 is not null
group by col2
limit 5
),
. . .
对于那些不熟悉语法的人,from
条款中的逗号表示union all
,而不是cross join
。他们为什么要改变这个?
答案 1 :(得分:0)
尝试这个,我希望它有效
;With CTE as (
select * ,ROW_NUMBER () over (partition by isnull(col1,''),isnull(col2,'')... isnull(coln,'') order by isnull(col1,'')) row_id
from tablename
) select * from CTE where row_id =1