Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 计数、订购描述并选择前5名_Sql_Sql Server_Sql Server 2012 - Fatal编程技术网

Sql 计数、订购描述并选择前5名

Sql 计数、订购描述并选择前5名,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,SQL Server 2012 我们有这样一张桌子: ticket, type ------------------ 1234, hardware 1543, software 8859, network 5832, hardware 4900, hardware 8403, software 7859, network 4332, telephone 8721, database 我们的目标是统计属于每种类型的所有票证,因此在这种情况下,结果应该是3个硬件、2个软件、2个网络、1个电话和1个

SQL Server 2012

我们有这样一张桌子:

ticket, type
------------------
1234, hardware
1543, software
8859, network
5832, hardware
4900, hardware
8403, software
7859, network
4332, telephone
8721, database
我们的目标是统计属于每种类型的所有票证,因此在这种情况下,结果应该是3个硬件、2个软件、2个网络、1个电话和1个数据库票证,对它们进行排序并选择前5个结果行

我们正试图确定前五名流行或最常见的门票类型以及数量

我已经记下了计数部分,但不确定如何继续订购desc并选择前5个

谢谢大家!

在SQL Server中,您可以使用TOP选择一定数量的行以及order by,以获得正确的记录:

select * from (
    select type, count(*) 
    from table
    group by type
    order by 2 desc
)
where rownum <=5
select top 5 type, count(*) Total
from yourtable
group by type
order by total desc

请参见

您能提供您所拥有的计数部分吗?这可能会让你更容易提供一个答案,更好地融入到你已经在做的事情中