sq

leetcode601. 体育馆的人流量(SQL)

岁酱吖の 提交于 2020-02-22 10:01:00
X 市建了一个新的体育馆,每日人流量信息被记录在这三列信息中:序号 (id)、日期 (visit_date)、 人流量 (people)。 请编写一个查询语句,找出人流量的高峰期。高峰期时,至少连续三行记录中的人流量不少于100。 例如,表 stadium: +------+------------+-----------+ | id | visit_date | people | +------+------------+-----------+ | 1 | 2017-01-01 | 10 | | 2 | 2017-01-02 | 109 | | 3 | 2017-01-03 | 150 | | 4 | 2017-01-04 | 99 | | 5 | 2017-01-05 | 145 | | 6 | 2017-01-06 | 1455 | | 7 | 2017-01-07 | 199 | | 8 | 2017-01-08 | 188 | +------+------------+-----------+ 对于上面的示例数据,输出为: +------+------------+-----------+ | id | visit_date | people | +------+------------+-----------+ | 5 | 2017-01-05 | 145 | | 6

virtio前端驱动详解

喜欢而已 提交于 2020-02-17 14:18:03
前段时间大致整理了下virtIO后端驱动的工作模式以及原理,今天就从前端驱动的角度描述下目前Linux内核代码中的virtIO驱动是如何配合后端进行工作的。 注:本节代码参考Linux 内核3.11.1代码 virtIO驱动从架构上来讲可以分为两部分,一个是其作为PCI设备本身的驱动,此驱动需要提供一些基本的操作PCI设备本身的函数比如PCI设备的探测、删除、配置空间的设置和寄存器空间的读写等。而另一个就是其virtIO设备本身实现的功能驱动例如网络驱动、块设备驱动、console驱动等。所以我们要看还是分两部分,先介绍PCI设备本身的驱动,然后在介绍实际功能驱动。 一、PCI设备本身驱动 在前面的PCI系列文章中对Linux内核中PCI设备驱动做了分析,所以这里我们只分析和virtIO相关的部分。 二、功能驱动部分 其实大部分的功能在后端驱动已经介绍,只是有些功能是在前端实现的,比如说virtqueue的初始化、avail buffer的添加以及used buffer的消费,还有比较很重要的是前后端vring的同步。 鉴于前面已经有了基本的概念基础,那么我们直接从网络驱动下手,分析驱动从注册到接受数据的整个流程。(参考代码virtio-net.c) 看下网络驱动注册的操作函数: 1 static const struct net_device_ops virtnet_netdev

leetcode512. 游戏玩法分析 II(SQL)

纵然是瞬间 提交于 2020-02-15 12:35:02
Table: Activity +--------------+---------+ | Column Name | Type | +--------------+---------+ | player_id | int | | device_id | int | | event_date | date | | games_played | int | +--------------+---------+ (player_id, event_date) 是这个表的两个主键 这个表显示的是某些游戏玩家的游戏活动情况 每一行是在某天使用某个设备登出之前登录并玩多个游戏(可能为0)的玩家的记录 请编写一个 SQL 查询,描述每一个玩家首次登陆的设备名称 查询结果格式在以下示例中: Activity table: +-----------+-----------+------------+--------------+ | player_id | device_id | event_date | games_played | +-----------+-----------+------------+--------------+ | 1 | 2 | 2016-03-01 | 5 | | 1 | 2 | 2016-05-02 | 6 | | 2 | 3 | 2017-06-25 | 1 |

基于分形随机生成月面数字高程模型

偶尔善良 提交于 2020-02-10 00:58:18
一些前置知识或说明 分形: 通常被定义为“一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状”,即具有自相似的性质。 通俗的说,分形即是某一个几何形状,它可以分成若干部分,每一部分放大后和整个图形类似,并且每一部分被分开的子图形也具有此种性质。在本文的应用中只需大概理解即可,不必深究。 Diamond-square algorithm: 即钻石形-正方形算法。算法过程如图所示。用此算法来生成随机而又自然的高程数据。根据分形理论分为若干子问题。每一子问题处理一个正方形内的部分高程数据。其过程如下 对于每个子问题: 1.初始状态为正方形四角高程数据已知,随机范围 [-s,s] 已知。即图1 2.计算中心点数据,即钻石的尖点(上下左右四个钻石)。计算方法为算出四角平均值之后再加上在 [-s,s] 内随机的数据。如图2 3.计算钻石顶面的中心点,方法同2。如图3 4.此子问题解决,将此问题分解为四个子问题,即四个小正方形,重复上述过程。如图4,5 初始化可根据问题具体内容给出四角的高程值以及光滑度,即 s 的取值。 月面石块以及撞击坑数量的数学模型 : 根据统计数据建立出月球平缓月海内石块数量 nor 与石块直径 d_r 的函数关系如下: \[ lg(nor)=-2.589\times lg(d_r)-3.3955 \] 平缓月海内撞击坑数量 noc

疯狂Python讲义第八章练习

爱⌒轻易说出口 提交于 2020-01-31 04:43:54
# -*- coding: utf-8 -*- ''' Created on 2020年1月29日 @author: insisted_search 1. 自定义 一个序列,该序列按顺序包含 52 张扑克牌,分别是黑桃、红心、草花、方块的 2~A 。 要求:提供序列的各种操作方法 。 ''' def check_key(key): if not isinstance(key, int):raise TypeError("索引值必须是整数") if key < 0:raise IndexError('索引值必须是非负数') if key >= 52:raise IndexError('索引值不能超过%d'%52) class PokerSeq: def __init__(self): self.__changed = {} self.__deleted = [] def __len__(self): return 52 def __getitem__(self,key): check_key(key) if key in self.__changed: return self.__changed[key] if key in self.__deleted: return None ret = '' t_i = key//13 if t_i == 0: ret = '黑桃'; elif

数据结构实验报告之链表顺序表的操作

扶醉桌前 提交于 2020-01-24 19:36:10
1、编写程序实现顺序表的各种基本运算:初始化、插入、删除、取表元素、求表长、输出表、销毁、判断是否为空表、查找元素。在此基础上设计一个主程序完成如下功能: ( 1)初始化顺序表L; ( 2)依次在表尾插入a,b,c,d,e五个元素; ( 3)输出顺序表L; ( 4)输出顺序表L的长度; ( 5)判断顺序表L是否为空; ( 6)输出顺序表L的第4个元素; ( 7)输出元素c的位置; ( 8)在第3个位置上插入元素f,之后输出顺序表L; ( 9)删除L的第2个元素,之后输出顺序表L; ( 10)销毁顺序表L。 2、编写程序实现单链表的各种基本运算:初始化、插入、删除、取表元素、求表长、输出表、销毁、判断是否为空表、查找元素。在此基础上设计一个主程序完成如下功能: ( 1)初始化单链表L; ( 2)依次在表尾插入a,b,c,d,e五个元素; ( 3)输出单链表L; ( 4)输出单链表L的长度; ( 5)判断单链表L是否为空; ( 6)输出单链表L的第4个元素; ( 7)输出元素c的位置; ( 8)在第3个位置上插入元素f,之后输出单链表L; ( 9)删除L的第2个元素,之后输出单链表L; ( 10)销毁单链表L。 1 顺序表 2 #include<stdio.h> 3 #include<malloc.h> 4 #include<stdlib.h> 5 6 #define TRUE 1 7

使用SSMA将Oracle数据库迁移到sqlserver

試著忘記壹切 提交于 2020-01-23 02:42:35
本文以SSMAv5.3为例,简单的介绍如何将Oracle数据库迁移到sqlserver。   1.首先下载 SSMAv5.3 ,并安装;   2.在主窗口File菜单中选择New Project…菜单项将显示图2所示的对话框,输入项目的名字,选择SQL Server 2008作为迁移的目标数据库版本。   3.然后我们连接Oracle服务器,点击工具条上的Connect to Oracle,输入Server名称、SID和用户名/密码,如图4所示。连接后会有个警告对话框告诉你hr用户没有足够的权限。由于我们只需要迁移HR数据库,这里可以点击Continue忽略它。如果你的Oracle服务器上有很多数据库,数据加载可能需要比较长的时间,请耐心等待   4.连接上Oracle后我们首先评估一下迁移HR数据库会不会碰到问题,如果碰到问题大约需要多长时间来解决。评估并不需要连接目标SQL Server,只需要在左上方的树里展开Oracle服务器名称,然后展开Schemas,右键点击HR并选择Create Report,如图下所示。   5.SSMA运行一段时间后会打开一个评估报告的对话框,如图6所示。这个评估报告很有用,里面会列出HR数据库里各种对象(包括函数、包、存储过程、表和视图等)能够成功迁移的比例,你可以在左边的树里选择你需要查看的某个对象,比如存储过程,比较Oracle的PL

「AtCoder 1219」歴史の研究

﹥>﹥吖頭↗ 提交于 2020-01-17 22:42:38
给出 n 个整数 \(x_1, x_2, ...,x_n\) ,询问 [l, r] 中 max{ \(x_k\times cnt_{x_k}\) }( \(cnt_i\) 表示 i 出现的次数) Luogu AtCoder 分析 回滚莫队裸题。 当然也可以用分块做,但我一开始打的分块,成功的只过了 4 个点......没调出来...... 顺便贴一下官方题解,虽然是日文 歴史の研究 代码 回滚莫队 //========================= // author:hliwen // date:2020.1.17 //========================= #include <cmath> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define N 100005 #define il inline #define re register #define DEBUG puts("ok") #define tie0 cin.tie(0),cout.tie(0) #define fastio ios::sync_with_stdio(false) #define File(x) freopen(x".in","r",stdin);freopen(x"

sq:mysql:存储过程

一个人想着一个人 提交于 2020-01-16 19:59:12
存储过程简介 SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集, 经编译后存储在数据库中 ,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。 当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。 数据库中的存储过程可以看做是对编程中面向对象方法的模拟,它允许控制数据的访问方式。 存储过程的优点: (1).增强SQL语言的功能和灵活性:存储过程可以用控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 (2).标准组件式编程:存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。 (3).较快的执行速度:如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。而批处理的Transaction-SQL语句在每次运行时都要进行编译和优化,速度相对要慢一些。 (4).减少网络流量

SQ--模糊查询

久未见 提交于 2019-12-29 23:55:53
Between..And --between...and...在数据库内部是做作特殊优化的,执行效率比> and<等这种方式快; --between a and b 相当于:字段>=a and字段<=b 例如: SELECT * FROM dbo.MyStudent WHERE S_Age BETWEEN 20 AND 30 SELECT * FROM dbo.MyStudent WHERE S_Age>=20 AND S_Age<=30 Between ..and还可以做分页。 比如,我现在设置每一页显示3条数据 传统的做法: 第一页: SELECT TOP 3 * FROM dbo.MyStudent 第二页: SELECT *FROM dbo.MyStudent WHERE S_ID BETWEEN 4 AND 6 ... 总结分页: SELECT * FROM dbo.MyStudent WHERE S_ID BETWEEN (当前页-1)*页容量+1 AND 当前页*页容量 IN关键字 判断一个列的值,是否在括号内: SELECT * FROM dbo.MyStudent WHERE S_Gender IN ('女')--正确 SELECT * FROM dbo.MyStudent WHERE S_Gender IN(1) --错误,数据类型不同【 在将 varchar