SQL的统计该如何使用呢?比较复杂~~~

图中只列出某一天的一些数据
如何用SQL语句来统计:
1、某一个月Fnum总和最大的前N个用户(Fuser)并列出来?
2、某一个月每天的Fnum总和,显示出来?
相关推荐
常用的SQL排序、分组与统计的使用方法
以一种有意义的方式组织数据可能是一项挑战。有时你需要的可能是一个简单的排序,但是通常你需要做更多,你需要分组来进行分析和统计。幸运的是,SQL提供了大量语句和操作来进行排序,分组和摘要。下面的一些技巧将会帮助你识别什么时候排序,什么时候分组,什么时候以及如何统计。对要每条语句和操作的详细信息请查看Books Online。 1、使用排序使数据有序 通常,你的所有数据真正需要的仅仅是按某种顺序排列。SQL的ORDER BY语句可以以字母或数字顺序组织数据。因此,相似的值按组排序在一起。然而,这个分组时排序的结果,并不是真的分组。ORDER BY显示每条记录而分组可能代表很多记录。
使用SQL语句统计数据时sum和count函数中使用if判断条件的讲解
首先举个栗子(不想看的话直接下面看总结): order_type:订单类型 open_id:用户唯一标识 SELECT date(create_time) AS '当天日期', sum(real_price) AS '当天总收入', sum函数中使用if判断条件:{ sum( IF (order_type = 0, real_price, 0) ) AS '当天支付收入', sum( IF (order_type = 1, real_price, 0) ) AS '当天打赏收入', } count(DISTINCT open_id) AS '付费总人数', count
一个常用的报表统计SQL语句
在平常的系统开发中,我们经常会遇到类似下图的报表统计功能需求。
SQL 统计一个数据库中所有表记录的数量
代码如下: CREATE TABLE #tmptb(tbname sysname,tbrows int ,tbREserved varchar(10),tbData varchar(10) ,tbIndexSize varchar(10),tbUnUsed varchar(10)) INSERT INTO #tmptb exec sp_MSForEachTable ‘EXEC sp_spaceused ”?”’ SELECT * from #tmptb –列出所有表的情况 SELECT tbrows ,tbname FROM #tmptb WHERE tbrows=0 –列出记录数据为0的表
SQL动态日期列生成并统计
输入日期区间:2015-08,2016-02 将返回列: UserName,2015-08,2015-09,2015-10,2015-11,2015-12,2016-01,2016-02


应用实例
