我在Oracle中有以下数据集:
c1 c2 c3
1A2 cat black
1G2 dog red
B11 frog green
1G2 girl red
尝试获得以下结果。基本上我试图先获得带有重复c1的行。
c1 c2 c3
1G2 dog red
1G2 girl red
B11 frog green
1A2 cat black
从t1组中选择c1,按c1顺序计数(*)desc,但不是如何继续。
答案 0 :(得分:4)
试试这个:
这几乎适用于所有RDBMS
SELECT t.c1, t.c2,t.c3
FROM your_table t
JOIN(
select c1,count(*) as cnt from your_table
group by c1 )a
ON a.c1=t.c1
ORDER BY a.cnt desc,t.c2,t.c3
答案 1 :(得分:0)
从列c1获取所有重复项可以通过简单的排序来实现:
SELECT * FROM <table> ORDER BY C1 ASC
答案 2 :(得分:0)
select c1,c2,c3
from tbl
order by count(*) over (partition by c1) desc