求一句SQL - MS-SQL Server / 基础类
姓名 日期 值
张三 2009-1-1 10
张三 2009-2-1 100
李四 2008-12-1 22
李四 2009-1-1 135
我想获得所有人 日期最小的值 并合计
即张三的10加上李四的22 获得最后结果是32
SQL code:
select 姓名,min(日期) 日期,合计=sum(值) from tb group by 姓名
SQL code:
--> 生成测试数据表: [tb]
IF OBJECT_ID('[tb]') IS NOT NULL
DROP TABLE [tb]
GO
CREATE TABLE [tb] ([姓名] [nvarchar](10),[日期] [datetime],[值] [int])
INSERT INTO [tb]
SELECT '张三','2009-1-1','10' UNION ALL
SELECT '张三','2009-2-1','100' UNION ALL
SELECT '李四','2008-12-1','22' UNION ALL
SELECT '李四','2009-1-1','135'
-->SQL查询如下:
SELECT 姓名,MIN(日期) 日期,合计=SUM(值) from tb GROUP BY 姓名
/*
姓名 日期 合计
---------- ----------------------- -----------
李四 2008-12-01 00:00:00.000 157
张三 2009-01-01 00:00:00.000 110
(2 行受影响)
*/
SQL code:
select sum(值) from table_name a join (select 姓名,min(日期) 日期 from table_name group by 姓名) b on a.姓名=b.姓名 and a.日期=b.日期
我要的结果是 所有人日期最小
相关问答:
从数据库中查询一张表的数据
select 部门,姓名 from tb
如何才能生成下面的xml格式
XML code:
<folder state="unchecked" label="全部">
<folder state="unchecked&qu ......
如何在SQL2005中设定定时作业,比如说定时清理某些表的数据,
或者是定时的将某些表的数据导出excel!
在线等待,急急急,最好是详细步骤!
之前我做的作业有点问题!
帮UP
参考:http://hi.baidu.com/toiota ......
字段1,字段2.....字段N,Status,ParentID
1,Name1....test1,1,99
1,Name1....test1,3,99
1,Name2....test2,1,101
1,Name2....test2,3,101
1,Name3....test3,2,101
1,Name1....test1,4,101
想要的结果是:
1,Na ......
我想查询出每天数据的最大的一个值。表的格式如下
表名: hisdata
字段 编号 值 状态 时间
Id value state dattime
101 32.3 0 ......
现在有一个部门表dept(部门名称,部门号。。)有一个人员表emp(姓名,人员编号,职位,薪资,部门)
emp表中的内容是这样的:
a 1 工程师 3000 软件部
b 2 普通员工 2000 硬件部
c 3 工程师 4000 硬件部
d ......