订购多次出现的次数

时间:2017-07-24 20:30:57

标签: mysql sql group-by sql-order-by

我们说我有以下数据:

2
2
2
3
3
3
4
4
5
5

我想输出一个表来计算重复的频率,并按重复次数排序。

在该示例中,有两次数据有3个重复,两次数据有2个重复,因此输出将是:

2    3
2    2

在SQL中有一种简单的方法吗?

2 个答案:

答案 0 :(得分:2)

这是直方图直方图查询。您只需要两个聚合:

select cnt, count(*)
from (select col, count(*) as cnt
      from t
      group by col
     ) t
group by cnt;

答案 1 :(得分:0)

使用内部查询来获取每个数据点的重复,然后使用外部查询对这些重复进行GROUP BY以获得这些重复发生的次数。

setlocal enabledelayedexpansion
set count=1
echo. >%temp%\get_ep.txt
for /f "delims=" %%i in ('where ".:%string%*" 2^>nul') do (
    call getname.cmd "%%i" data
    echo %episode% >>%temp%\get_ep.txt
    type "%temp%\get_ep" | find /i "%episode%" >nul
    if "%errorlevel%"=="1" set /a count+=1
    )
endlocal & set count=%count%