sql 统计 相同字段 记录数 .net vb.net

我在做一个设计,需要这样的统计,有三个问题。问题一:在数据库中的某一个表,比如这个表是客户点菜的一个数据记录表,该表的字段有:ID(自动编号)、姓名、地址、时间、菜名、价... 我在做一个设计,需要这样的统计,有三个问题。
问题一:在数据库中的某一个表,比如这个表是客户点菜的一个数据记录表,该表的字段有:ID(自动编号)、姓名、地址、时间、菜名、价格;现在我想从这个表中得到这样的一个结果,我要从这个表中获取“菜名”字段相同的数据的记录条数的最大值和获取该字段的菜名,请问这样的SQL语句如何写?

问题二:同理,我需要获取该表中“菜名”字段相同的数据的记录条数的最小值和获取该字段的菜名,请问这样的SQL语句如何写?

不需要对该问题长篇大论的粘贴,回答正确可额外再加分。
展开
 我来答
yize1984
2010-04-15 · 超过40用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:121万
展开全部
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笔被点数是一样的就只能选择一笔
暴雁菱0e1
2010-04-15 · TA获得超过2004个赞
知道小有建树答主
回答量:1192
采纳率:0%
帮助的人:0
展开全部
1. select top 1 * from (select 菜名,count(*) num from table group by 菜名) a order by num desc
2. select top 1 * from (select 菜名,count(*) num from table group by 菜名) a order by num asc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式