SQL 分组 加列 加自编号 自编号限定 分类: SQL Server 2014-11-25 15:41 283人阅读 评论(0) 收藏
说明:
(1)日期以年月形式显示:convert(varchar(7),字段名,120) ,
(2)加一列
(3)自编号:
row_number() over(order by 字段名 desc) as RowID
row_number() over(partition by 字段1 order by 字段2) as RowID
(4)自编号的限制(不可直接在WHERE条件中加)
举例说明:
想要达到的效果:按月统计各工种的前5名(以件数为依据)
初始SQL语句:
select sum(Sum_TrueNum) 件数,PickUser_Name 拣货人,convert(varchar(7),PickTime,120) 时间
from V_OutIn_MainTop
where Brand_ID=66 and ClassReport_Name='出库' and len(PickUser_Name)>0
and PickTime>='2014-9-1' and PickTime<'2014-12-1'
group by PickUser_Name,convert(varchar(7),PickTime,120)
效果图:
第一步: 加一列
SQL语句:
select 工种='拣货',sum(Sum_TrueNum) 件数,PickUser_Name 拣货人,convert(varchar(7),PickTime,120) 时间
from V_OutIn_MainTop
where Brand_ID=66 and ClassReport_Name='出库' and len(PickUser_Name)>0
and PickTime>='2014-9-1' and PickTime<'2014-12-1'
group by PickUser_Name,convert(varchar(7),PickTime,120)
效果图:
第二步:加自编号(按月、按人分组排序)
SQL语句:
select 工种='拣货',row_number() over(partition by convert(varchar(7),PickTime,120) order by sum(Sum_TrueNum) desc)as RowID,
sum(Sum_TrueNum) 件数,PickUser_Name 拣货人,convert(varchar(7),PickTime,120) 时间
from V_OutIn_MainTop
where Brand_ID=66 and ClassReport_Name='出库' and len(PickUser_Name)>0
and PickTime>='2014-9-1' and PickTime<'2014-12-1'
group by PickUser_Name,convert(varchar(7),PickTime,120)
效果图:
第三步:自编号限定(只取前几名)
SQL语句:
with rowJianHuo
as
(
select 工种='拣货',row_number() over(partition by convert(varchar(7),PickTime,120) order by sum(Sum_TrueNum) desc)as RowID,
sum(Sum_TrueNum) 件数,PickUser_Name 拣货人,convert(varchar(7),PickTime,120) 时间
from V_OutIn_MainTop
where Brand_ID=66 and ClassReport_Name='出库' and len(PickUser_Name)>0
and PickTime>='2014-9-1' and PickTime<'2014-12-1'
group by PickUser_Name,convert(varchar(7),PickTime,120)
)
select * from rowJianHuo
where RowID<6
也可以这样写:
select * from
(
select 工种='拣货',row_number() over(partition by convert(varchar(7),PickTime,120) order by sum(Sum_TrueNum) desc)as RowID,
sum(Sum_TrueNum) 件数,PickUser_Name 拣货人,convert(varchar(7),PickTime,120) 时间
from V_OutIn_MainTop
where Brand_ID=66 and ClassReport_Name='出库' and len(PickUser_Name)>0
and PickTime>='2014-9-1' and PickTime<'2014-12-1'
group by PickUser_Name,convert(varchar(7),PickTime,120)
)a
where RowID<6
效果图:(数据有点少,所以数据没有变化)
备注:
两个表,结构相同,连成一张表:用
select * from 表1
union all
select * from 表2
版权声明:本文为博主原创文章,未经博主允许不得转载。
SQL 分组 加列 加自编号 自编号限定 分类: SQL Server 2014-11-25 15:41 283人阅读 评论(0) 收藏的更多相关文章
- SQL 按月统计(两种方式) 分类: SQL Server 2014-08-04 15:36 154人阅读 评论(0) 收藏
(1)Convert 函数 select Convert ( VARCHAR(7),ComeDate,120) as Date ,Count(In_code) as 单数,Sum(SumTrueNum ...
- 跨服务器备注SQL数据库 分类: SQL Server 2015-03-05 08:52 227人阅读 评论(0) 收藏
任务:把服务器1上的SQL数据库自动备份到服务器2上,命名格式=数据库名+年月日+小时. 说明: 服务器2=>192.168.0.22 数据库名=>Book 共享文件夹路径:192.168 ...
- 百度地图-省市县联动加载地图 分类: Demo JavaScript 2015-04-26 13:08 530人阅读 评论(0) 收藏
在平常项目中,我们会遇到这样的业务场景: 客户希望把自己的门店绘制在百度地图上,通过省.市.区的选择,然后加载不同区域下的店铺位置. 先看看效果图吧: 实现思路: 第一步:整理行政区域表: 要实现通过 ...
- Web App 向上滑动动态加载数据 2015-06-11 09:36 20人阅读 评论(0) 收藏
好久没有写博客了 - - ,个人原因 个人原因.. 宣传一下...自己的.NET群:252713569 欢迎各位大神加入 嗯..最近在公司开发微信平台的东西..需要做一个WebAPP(PS:其实就是 ...
- JAVA 对象数组,加载图片实例 分类: Java Game 2014-08-14 16:57 80人阅读 评论(0) 收藏
主函数: package com.mywork; import java.awt.Color; import java.awt.Image; import javax.swing.ImageIcon; ...
- SQL SERVER将某一列字段中的某个值替换为其他的值 分类: MSSQL 2014-11-05 13:11 67人阅读 评论(0) 收藏
SQL SERVER将某一列字段中的某个值替换为其他的值 UPDATE 表名 SET 列名 = REPLACE(列名 ,'贷','袋') SQL SERVER"函数 replace 的参数 ...
- winform 解决界面闪动、提升加载速度 分类: WinForm 2015-02-03 16:34 161人阅读 评论(0) 收藏
说明: 从一个技术交流群里获得,经验证效果不错. //作用 加快界面加载 protected override CreateParams CreateParams { ...
- ZEDBOARD启动自启配置(加载镜像) 分类: OpenCV ubuntu shell ZedBoard Eye_Detection 2014-11-08 18:53 167人阅读 评论(0) 收藏
参考:陆书14.2.8 1)备份ramdisk8M.image.gz 2)加载rootfs镜像文件: 3)在镜像目录下建立自己所需文件夹(挂载目录): 我需要的挂载目录有两个: root/qt/ins ...
- 菊花加载第三方--MBprogressHUD 分类: ios技术 2015-02-05 19:21 120人阅读 评论(0) 收藏
上次说到了网络请求AFN,那么我们在网络请求的时候,等待期间,为了让用户不认为是卡死或程序出错,一般都会放一个菊花加载,系统有一个菊花加载类叫UIProgressHUD.但是我今天要说的是一个替代它的 ...
随机推荐
- C++ 虚函数与纯虚函数
#include<iostream> #include<string> using namespace std; class A{ public: virtual void f ...
- Win32中GDI+应用(三)---Graphics类
在我理解看来,Graphics是一个device context和你的drawing conetent之间的一个中介.它存储了device context的相关属性,以及drawing content ...
- linux 查看端口号命令
Linux下如果我们需要知道2809号端口的情况的话,我们可以这样,如下命令: $netstat -pan|grep 24800 tcp 0 0 0.0.0.0:24800 ...
- QNetworkRequest 请求类
QNetworkRequest Class Header: #include <QNetworkRequest>qmake: QT += networkSince: ...
- WorkerScript QML Type
官方描述:在一个Qt Quick应用程序中可以使用线程了. Import Statement: import QtQuick .属性:source : url信号:message(jsobje ...
- 从文章"避免复制与粘贴"到文章"Extract Method"的反思(3)
在牛人的博客中提到了..如果你的代码可以copy-past的时候,那么久证明你的代码出现了重复.而这种重复仅仅是虚假的代码行的增加而不是像其他的代码复用那样降级成本. copy-pase代码意味着你违 ...
- 编程思想—控制反转(IOC)及依赖注入(DI)
1.什么是依赖注入 在面向对象的编程语言中,一个对象的行为方法往往需要外界的对象的行为协助才能完成. 例如:小李去ATM机取钱,那小李的取钱的整个行为的完成需要ATM实例取款行为的协助才能完成. pu ...
- Struts2技术内幕-----第七章
1)基于人机交互的请求--响应模式主要由哪三大要素构成? ①沟通协议-----人和机器都能够明白的数据通信格式 ②请求内容-----人通过某种机制向机器发起的数据请求 ③响应内 ...
- FutureTask源码解读
import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.ut ...
- oracle dataguard
startup mount restrict; drop database; alter database add standby logfile thread 1 group 8 '/oracle/ ...