asc

一个通用的sql server分页查询

蓝咒 提交于 2019-12-02 15:28:32
CREATE PROCEDURE dbo.P_viewPage_A @TableName VARCHAR(200), --表名 @FieldList VARCHAR(2000), --显示列名,如果是全部字段则为* @PrimaryKey VARCHAR(100), --单一主键或唯一值键 @Where VARCHAR(2000), --查询条件 不含'where'字符,如id>10 and len(userid)>9 @Order VARCHAR(1000), --排序 不含'order by'字符,如id asc,userid desc,必须指定asc或desc --注意当@SortType=3时生效,记住一定要在最后加上主键,否则会让你比较郁闷 @SortType INT, --排序规则 1:正序asc 2:倒序desc 3:多列排序方法 @RecorderCount INT, --记录总数 0:会返回总记录 @PageSize INT, --每页输出的记录数 @PageIndex INT, --当前页数 @TotalCount INT OUTPUT, --记返回总记录 @TotalPageCount INT OUTPUT --返回总页数 AS SET NOCOUNT ON IF ISNULL(@TotalCount,'') = '' SET @TotalCount = 0

sql中多条件进行排序的问题

久未见 提交于 2019-12-02 00:42:47
order by后边的字段并不是唯一的,支持多个,按照你排序的先后顺序写就可以了。另外按照每个字段的升序和降序同样支持。默认是升序的。如下 order by column1(asc or desc),column2(asc or desc),column3(asc or desc),column4(asc or desc)... 来源: https://www.cnblogs.com/qingmuchuanqi48/p/11723520.html

利用PHP获取汉字首字母并且分组排序详解

梦想的初衷 提交于 2019-12-01 22:16:34
<?php /** * @author Tech */ class Character { /** * 二维数组根据首字母分组排序 * @param array $data 二维数组 * @param string $targetKey 首字母的键名 * @return array 根据首字母关联的二维数组 */ public function groupByInitials( array $data , $targetKey = 'name' ) { $data = array_map ( function ( $item ) use ( $targetKey ) { return array_merge ( $item , [ 'initials' => $this ->getInitials( $item [ $targetKey ]), ]); }, $data ); $data = $this ->sortInitials( $data ); return $data ; } /** * 按字母排序 * @param array $data * @return array */ public function sortInitials( array $data ) { $sortData = []; foreach ( $data as $key => $value )

缺失索引自动创建语句(转)

Deadly 提交于 2019-12-01 16:06:37
缺失索引自动创建语句 2016.04.18 13:16:10字数 749阅读 288 【编者按】 本文主要介绍使用系统 SQL 实体自动创建非聚集(non-clustered)索引。作者为意大利软件工程师 GhostHost(笔名)。 本文系 OneAPM 工程师编译呈现,以下为正文。 引言 一直以来,关于索引的常见问题是:判断哪部分索引对保证 数据库 的良好性能是必需的。在本文中,笔者将提供针对该问题的 解决方案 。本文用例中的所有代码都基于名为 dm_db_missing_index_details 的 SQL Server 系统视图。 背景 在开始安装前,进一步了解 dm_db_missing_index_details 会更有益处。 dm_db_missing_index_details 会返回缺失索引的细节信息。在本文中,我们将更关注以下几列: index_handle:它是一个独特的跨服务器标识符,并且标志一个特定的缺失索引。 equality_columns:包含用于相等谓词的所有列 inequality_columns:包含用于其他比较的所有列 included columns索引中所包含的查询必要出现列 statement: 补充完整索引缺失的表名 实现 本系统的实现基于以下三个实体: 一个可以计算出待创建索引名称的简单函数 一个用于简化 dm_db

数据库设计——医药销售管理系统

泪湿孤枕 提交于 2019-12-01 02:11:47
开发环境和开发工具 操作系统:win8.1 开发环境:Mysql、Web 开发工具:Workbench、Eclipse、JDBC 功能需求分析 员工有权查看、添加会员,查看、添加供应商,查询药品(输入药品编号或名称、类别等查询该药品或该类药品库存),添加药品采购记录,销售药品,处理退货,盘点仓库,查看销售、退货、入库记录,修改个人信息 经理有权查看、添加、删除会员,查看、添加、删除供应商,查看、添加、删除员工,盘点仓库,查看销售、退货、入库记录,修改个人信息,无权进行销售和退货业务 供应商和顾客对此系统没有使用权限 系统设计 系统设计 数据流 E-R图 数据库关系模式设计 登录用户(用户编号,用户名,密码,类别) 员工(员工编号,员工姓名,联系电话,用户编号) 经理(经理编号,用户编号) 财政收支(收支编号,药品编号,员工编号,数量,日期,总额,类型) 供应商(供应商编号,供应商名称,联系人,联系方式,所在城市) 会员(客户编号,客户姓名,联系方式) 入库记录(入库记录编号,供应商编号,收支编号) 退货管理(退货编号,销售编号,收支编号) 销售管理(销售编号,客户编号,收支编号) 药品(药品编号,药品名称,供应商编号,生产批号,产地,所属类别,进价,单价,会员折扣,库存,包装规格,生产日期,有效期) 数据库物理结构设计 本次项目使用的引擎是InnoDB,MySQL的数据库引擎之一

MySql一个生产死锁案例分析

*爱你&永不变心* 提交于 2019-11-30 18:17:38
接到上级一个生产环境MySQL死锁日志信息文件,需要找出原因并解决问题。我将死锁日志部分贴出如下: 在mysql中使用命令:SHOW ENGINE INNODB STATUS;总能获取到最近一些问题信息,通过搜索deadlock 关键字即可找到死锁的相关日志信息。 2019-09-25 13:28:25 7fc0301ca700InnoDB: transactions deadlock detected, dumping detailed information. 2019-09-25 13:28:25 7fc0301ca700 *** (1) TRANSACTION: TRANSACTION 48000896642, ACTIVE 0 sec starting index read mysql tables in use 1, locked 1 LOCK WAIT 5 lock struct(s), heap size 1184, 3 row lock(s), undo log entries 5 MySQL thread id 1585229, OS thread handle 0x7fc030e7c700, query id 36142536228 100.64.177.170 oms8 updating update tb_elc_forecast set capital

【MySQL】How to find out who is locking a table i...

帅比萌擦擦* 提交于 2019-11-30 02:30:38
MySQL is adding more tools to monitor its internals with every new release, but one thing it still lacks is a way to find out who is locking what, and therefore which transactions block which other ones. This is such a vital feature that I ’ m considering writing my own patch to the source! Still, it is possible, to a limited extent, to find out who ’ s locking resources. In this article I ’ ll explain how you can do that. This article is the second in a series on how to use the innotop MySQL and InnoDB monitor. Introduction Here ’ s the situation: you are trying to update a table and every

转 How to Find Out Who Is Locking a Table in MySQL

依然范特西╮ 提交于 2019-11-29 12:36:18
MySQL is adding more tools to monitor its internals with every new release, but one thing it still lacks is a way to find out who is locking what, and therefore which transactions block which other ones. This is such a vital feature that I’m considering writing my own patch to the source! Still, it is possible, to a limited extent, to find out who’s locking resources. In this article I’ll explain how you can do that. This article is the second in a series on how to use the innotop MySQL and InnoDB monitor. Introduction Here’s the situation: you are trying to update a table and every time you

Mysql高手系列 - 第8篇:详解排序和分页(order by & limit),及存在的坑

喜夏-厌秋 提交于 2019-11-29 10:06:28
这是Mysql系列第8篇。 环境:mysql5.7.25,cmd命令中进行演示。 代码中被[]包含的表示可选,|符号分开的表示可选其一。 本章内容 详解排序查询 详解limit limit存在的坑 分页查询中的坑 排序查询(order by) 电商中:我们想查看今天所有成交的订单,按照交易额从高到低排序,此时我们可以使用数据库中的排序功能来完成。 排序语法: select 字段名 from 表名 order by 字段1 [asc|desc],字段2 [asc|desc]; 需要排序的字段跟在 order by 之后; asc|desc表示排序的规则,asc:升序,desc:降序,默认为asc; 支持多个字段进行排序,多字段排序之间用逗号隔开。 单字段排序 mysql> create table test2(a int,b varchar(10)); Query OK, 0 rows affected (0.01 sec) mysql> insert into test2 values (10,'jack'),(8,'tom'),(5,'ready'),(100,'javacode'); Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> select * from

30 答疑文章二,用动态的观点看加锁

人盡茶涼 提交于 2019-11-29 08:12:34
答疑文章二,用动态的观点看加锁 回顾加锁原则 : 原则 1 :加锁的基本单位是 next-key lock , 是一个 前开后闭 区间 原则 2 :查找过程中 访问到的对象 才加锁 优化 1 :索引上的等值查询,给唯一索引加锁的时候, next-key lock 退化为 行锁 优化 2 :索引上的等值查询,向右遍历时且最后一个值不满足等值条件的时候, next-key lock 退化为 间隙锁 一个 bug :给唯一索引上的范围查询会访问到不满足条件的第一个值为止。 CREATE TABLE `t30` ( `id` int(11) NOT NULL, `c` int(11) DEFAULT NULL, `d` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `c` (`c`) ) ENGINE=InnoDB; insert into t30 values(0,0,0),(5,5,5), (10,10,10),(15,15,15),(20,20,20),(25,25,25); 不等号条件里的等值查询 等值查询和遍历的区别,为什么在不等查询里面,这个过程也有等值查询? begin; select * from t30 where id>9 and id<12 order by id desc for update; 利用上面的加锁规则