[英]Getting distinct values of induvidual columns
I have a table A as below 我有一张表A如下
id| Name|Subject
--|-----|-------
1 |Mano |Science
2 |Pavi |Maths
3 |Mano |Social
1 |Kalai|Maths
4 |Kalai|Science
I want distinct values for each column. 我希望每列都有不同的值。 So My output be like 所以我的输出就像
id|Name | Subject
--|-----|--------
1 |Mano |Science
2 |Pavi |Maths
3 |Kalai|Social
4 | |
I have tried using cursors. 我尝试过使用游标。 But I didn't get what I needed. 但我没有得到我需要的东西。 Anybody help me in getting this 有人帮助我得到这个
You seem to just want a list of the distinct values, without regards to what appears together. 您似乎只想要一个不同值的列表,而不考虑一起出现的内容。 This isn't very SQL'ish, but can be done: 这不是非常SQL,但可以做到:
select row_number() over (order by n.seqnum) as firstcol, n.name, s.subject
from (select name, row_number() over (order by name) as seqnum
from t
group by name
) n full outer join
(select subject, row_number() over (order by subject) as seqnum
from t
group by subject
) s
on s.seqnum = n.seqnum;
select *
from (select col,val,dense_rank () over (partition by col order by val) as dr
from mytable unpivot (val for col in (name,subject)) u
) pivot (min(val) for col in ('NAME','SUBJECT'))
order by dr
+----+-------+---------+
| DR | NAME | SUBJECT |
+----+-------+---------+
| 1 | Kalai | Maths |
| 2 | Mano | Science |
| 3 | Pavi | Social |
+----+-------+---------+
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.