张三

SQL列行转换

帅比萌擦擦* 提交于 2020-01-01 07:25:05
代码 /* 标题:普通行列转换(version 2.0) 作者:爱新觉罗.毓华 时间:2008-03-09 地点:广东深圳 说明:普通行列转换(version 1.0)仅针对sql server 2000提供静态和动态写法,version 2.0增加sql server 2005的有关写法。 问题:假设有张学生成绩表(tb)如下: 姓名 课程 分数 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 李四 物理 94 想变成(得到如下结果): 姓名 语文 数学 物理 ---- ---- ---- ---- 李四 74 84 94 张三 74 83 93 ------------------- */ create table tb(姓名 varchar ( 10 ) , 课程 varchar ( 10 ) , 分数 int ) insert into tb values ( ' 张三 ' , ' 语文 ' , 74 ) insert into tb values ( ' 张三 ' , ' 数学 ' , 83 ) insert into tb values ( ' 张三 ' , ' 物理 ' , 93 ) insert into tb values ( ' 李四 ' , ' 语文 ' , 74 ) insert into tb values ( '

MS SQL中的行轉列

别等时光非礼了梦想. 提交于 2020-01-01 07:24:10
create table tb ( LocTion nvarchar ( 20 ), work nvarchar ( 40 ), money int , time int , age int ) insert tb select ' 广州 ' , ' 程序员 ' , 1000 , 5 , 22 insert tb select ' 广州 ' , ' 教师 ' , 1700 , 10 , 22 insert tb select ' 广州 ' , ' 警察 ' , 1300 , 15 , 22 insert tb select ' 广州 ' , ' 警察 ' , 800 , 5 , 22 insert tb select ' 上海 ' , ' 程序员 ' , 1600 , 5 , 21 insert tb select ' 上海 ' , ' 司机 ' , 1200 , 15 , 21 insert tb select ' 北京 ' , ' 程序员 ' , 1400 , 5 , 29 declare @sql nvarchar ( 4000 ) set @sql = '' select @sql = @sql + ' ,sum(case when time= ' + cast (time as varchar ) + ' then money else 0 end) as [ ' +

SQL 列转行

↘锁芯ラ 提交于 2020-01-01 07:22:41
* 普通行列转换 (爱新觉罗.毓华 2007-11-18于海南三亚) 假设有张学生成绩表(tb)如下: Name Subject Result 张三 语文  74 张三 数学  83 张三 物理  93 李四 语文  74 李四 数学  84 李四 物理  94 */ -- ----------------------------------------------------------------------- /* 想变成 姓名 语文 数学 物理 ---------- ----------- ----------- ----------- 李四 74 84 94 张三 74 83 93 */ create table tb ( Name varchar ( 10 ) , Subject varchar ( 10 ) , Result int ) insert into tb(Name , Subject , Result) values ( ' 张三 ' , ' 语文 ' , 74 ) insert into tb(Name , Subject , Result) values ( ' 张三 ' , ' 数学 ' , 83 ) insert into tb(Name , Subject , Result) values ( ' 张三 ' , ' 物理 ' , 93 )

设计模式之创建型模式---原型模式模式

孤街浪徒 提交于 2019-12-31 22:52:53
原型模式(Prototype) 原型模式:使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象。 原型模式主要涉及两个概念,浅拷贝与深拷贝。 浅拷贝 :是指将一个对象复制后,基本数据类型的变量都会重新创建,而引用类型,指向的还是原对象所指向的。 深拷贝 :是指将一个对象复制后,不论是基本数据类型还有引用类型,都是重新创建的。简单来说,就是深复制进行了完全彻底的复制,而浅复制不彻底。 说完理论,接着来举例: 首先先创建一个非基本类型的对象( 为了能够实现深拷贝,此处创建的对象必须序列化 ): /** * @author chenglezheng */ public class Clone implements Serializable { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } 接着我们创建一个浅拷贝对象 /** * @author chenglezheng */ public class CloneShallow implements Cloneable{ private Clone clone; private int test; public int getTest(

四. python面向对象(继承)

你说的曾经没有我的故事 提交于 2019-12-20 08:10:02
一. 继承 class A:pass # 父类 基类 超类 class B:pass # 父类 基类 超类 class A_son(A,B): pass # 子类 派生类 class AB_son(A):pass # 子类 派生类 # 一个类 可以被多个类继承 # 一个类可以继承多个父类 print(A_son.__bases__) # 查看类的继承__bases__ (<class '__main__.A'>, <class '__main__.B'>) print(AB_son.__bases__) # 查看类的继承__bases__ (<class '__main__.A'>,) print(A.__bases__) # 查看类的继承__bases__ 在python 中没有父类 都是 object儿子 (<class 'object'>,) class Per(object): def __init__(self,name,age,sex): self.name=name self.age=age self.sex=sex class Dog(Per): pass aa=Dog("张三",25,"男") print(aa.age) # 25 print(aa.name) # 张三 class Aa(object): def __init__(self, name,aggr

MySQL行转列实现和总结

老子叫甜甜 提交于 2019-12-06 01:57:00
一、行转列实例 1、准备数据 CREATE TABLE tb (`cname` VARCHAR( 10 ) ,cource VARCHAR ( 10 ) ,score INT) ENGINE =INNODB; INSERT INTO tb VALUES ( '张三' , '语文' , 74 ) ; INSERT INTO tb VALUES ( '张三' , '数学' , 83 ) ; INSERT INTO tb VALUES ( '张三' , '物理' , 93 ) ; INSERT INTO tb VALUES ( '李四' , '语文' , 74 ) ; INSERT INTO tb VALUES ( '李四' , '数学' , 84 ) ; INSERT INTO tb VALUES ( '李四' , '物理' , 94 ) ; 最终想要的结果是这样: | 姓名 | 语文 | 数学 | 物理 | +------+--------+--------+----+ | 张三 | 74.00 | 83.00 | 93.00 | | 李四 | 74.00 | 84.00 | 94.00 | 2、利用SUM(IF()) 生成列 SELECT cname AS "姓名" , SUM( IF (cource= "语文" , score, 0 )) AS "语文" , SUM( IF

Stream的排序

℡╲_俬逩灬. 提交于 2019-12-04 15:38:26
1、list<Integer>的正序 List<Integer> list = new ArrayList<>();list.add(50);list.add(45);list.add(25);list.add(98);list.add(32);List<Integer> collect = list.stream().sorted().collect(Collectors.toList());System.out.println("list<Integer>元素正序:" + collect);打印结果:list<Integer>元素正序:[25, 32, 45, 50, 98] 2、list<Integer>的倒序 List<Integer> list = new ArrayList<>();list.add(50);list.add(45);list.add(45);list.add(98);list.add(32);List<Integer> collect = list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());System.out.println("list<Integer>元素倒序:" + collect);打印结果:list<Integer>元素倒序:[98, 50,

mysql续集(查询部分)

安稳与你 提交于 2019-12-01 13:33:01
mysql查询部分,从基础的查询到关键字,where子句,group by, order by, limit ,having,子查询分为from子查询和where子查询,左连接和右连接,内连接的连表查询.一些题目的练习,希望能够越学越多,加油............................................................................................................凑字数. 表结构准备: 1 create table goods ( 2 goods_id mediumint(8) unsigned primary key auto_increment, 3 goods_name varchar(120) not null default '', 4 cat_id smallint(5) unsigned not null default '0', 5 brand_id smallint(5) unsigned not null default '0', 6 goods_sn char(15) not null default '', 7 goods_number smallint(5) unsigned not null default '0', 8 shop_price decimal(10

JAVA动态代理 和 Spring AOP 4种通知的简单实现

柔情痞子 提交于 2019-11-29 03:56:27
学习Spring AOP 之前,先要了解下JAVA的动态代理。如果不清楚动态代理的概念就百度一下吧。废话不多说,直接上代码。 我们模拟一个简单的登录 首先我们创建一个用户登录的接口 package com.proxy.test; public interface UserLogin { public void login(String userName); } 接着创建一个接口的实现类 package com.proxy.test; public class UserLoginImpl implements UserLogin { public void login(String userName) { System.out.println("欢迎 " + userName + " 登录系统"); } } 在创建一个自己的处理类 实现InvocationHandler 接口 package com.proxy.test; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; public class MyHandler implements InvocationHandler { private Object obj; public MyHandler(Object obj) {

JS中对象创建方式

廉价感情. 提交于 2019-11-27 07:21:53
1,标识符创建方式 (ES5) var obj = {} obj.name = "张三" obj.age = 23 2,属性名表达式创建方式 var obj = {} var prop = "name" obj[prop] = "张三" obj["a" + "ge"] = 23 3,字面量方式创建(ES6) var obj = { name:"张三", age:23 } 4,属性名表达式创建与字面量创建结合 var prop = "name" var obj = {   [prop]:"张三",   ["a" + "ge"]:23 } 5,通过Object.assign函数创建(ES6) var obj = Object.assign({},{ name:"张三", age:23 }) 6,通过Object.create函数创建 var obj = Object.create({ name:"张三", age:23 }) 来源: https://www.cnblogs.com/zhang134you/p/11350695.html