sql 统计 相同字段 记录数 .net vb.net
我在做一个设计,需要这样的统计,有三个问题。问题一:在数据库中的某一个表,比如这个表是客户点菜的一个数据记录表,该表的字段有:ID(自动编号)、姓名、地址、时间、菜名、价...
我在做一个设计,需要这样的统计,有三个问题。
问题一:在数据库中的某一个表,比如这个表是客户点菜的一个数据记录表,该表的字段有:ID(自动编号)、姓名、地址、时间、菜名、价格;现在我想从这个表中得到这样的一个结果,我要从这个表中获取“菜名”字段相同的数据的记录条数的最大值和获取该字段的菜名,请问这样的SQL语句如何写?
问题二:同理,我需要获取该表中“菜名”字段相同的数据的记录条数的最小值和获取该字段的菜名,请问这样的SQL语句如何写?
不需要对该问题长篇大论的粘贴,回答正确可额外再加分。 展开
问题一:在数据库中的某一个表,比如这个表是客户点菜的一个数据记录表,该表的字段有:ID(自动编号)、姓名、地址、时间、菜名、价格;现在我想从这个表中得到这样的一个结果,我要从这个表中获取“菜名”字段相同的数据的记录条数的最大值和获取该字段的菜名,请问这样的SQL语句如何写?
问题二:同理,我需要获取该表中“菜名”字段相同的数据的记录条数的最小值和获取该字段的菜名,请问这样的SQL语句如何写?
不需要对该问题长篇大论的粘贴,回答正确可额外再加分。 展开
2个回答
展开全部
1.
select 菜名,count(菜名)from table group by 菜名 order by count(菜名)desc
这样是获得所有菜的被点次数,然后根据你数据库的不同 获得其第一笔就好了
如果是使用SQL Server 可在select 后使用 top1
如果是使用Oracel 可在where 条件中 加rownum=1
2.select 菜名,count(菜名)from table group by 菜名 order by count(菜名)asc
这样是按照升序排序的 这样同理取其第一笔就好了
不过这样如果有2笔被点数是一样的就只能选择一笔
select 菜名,count(菜名)from table group by 菜名 order by count(菜名)desc
这样是获得所有菜的被点次数,然后根据你数据库的不同 获得其第一笔就好了
如果是使用SQL Server 可在select 后使用 top1
如果是使用Oracel 可在where 条件中 加rownum=1
2.select 菜名,count(菜名)from table group by 菜名 order by count(菜名)asc
这样是按照升序排序的 这样同理取其第一笔就好了
不过这样如果有2笔被点数是一样的就只能选择一笔
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询