Ответ 1
Если ваша РСУБД поддерживает предложение OVER...
SELECT
title
FROM
(
select
title, count(*) OVER (PARTITION BY title) as cnt
from
kmovies
) T
ORDER BY
cnt DESC
что представляет собой запрос sql для поиска дубликатов записей и отображения в нисходящем, на основе наивысшего счета, а идентификатор отображает записи.
например:
получение счета может быть выполнено с помощью
select title, count(title) as cnt from kmovies group by title order by cnt desc
и результат будет похож на
title cnt
ravi 10
prabhu 9
srinu 6
теперь каков запрос для получения результата, как показано ниже:
ravi
ravi
ravi
...10 times
prabhu
prabhu..9 times
srinu
srinu...6 times
Если ваша РСУБД поддерживает предложение OVER...
SELECT
title
FROM
(
select
title, count(*) OVER (PARTITION BY title) as cnt
from
kmovies
) T
ORDER BY
cnt DESC
Вы можете сделать это в одном запросе:
Select t.Id, t.title, z.dupCount
From yourtable T
Join
(select title, Count (*) dupCount
from yourtable
group By title
Having Count(*) > 1) z
On z.title = t.Title
order By dupCount Desc
В этом запросе используются предложения Group By
и и Having
, чтобы вы могли выбрать (найти и перечислить) для каждой повторяющейся записи. Предложение As
является удобством ссылаться на Quantity
в предложениях select
и Order By
, но на самом деле не является частью получения повторяющихся строк.
Select
Title,
Count( Title ) As [Quantity]
From
Training
Group By
Title
Having
Count( Title ) > 1
Order By
Quantity desc
select distinct title, (
select count(title)
from kmovies as sub
where sub.title=kmovies.title) as cnt
from kmovies
group by title
order by cnt desc
Вы не можете сделать это как простой одиночный запрос, но это будет делать:
select title
from kmovies
where title in (
select title
from kmovies
group by title
order by cnt desc
having count(title) > 1
)