比如: 表 :user 字段:orders (值为 1,2,3) 要求根据字段 orders 按2 -> 1 -> 3 排序 使用以下语句实现SELECT *FROM userORDER BY CASE orders WHEN 2 THEN 1 WHEN 1 THEN 2 WHEN 3 THEN 3 ...
分类:
数据库 时间:
2016-11-23 19:32:50
阅读次数:
221
2016-11-23 表结构、及表数据如下 解法一:初级解法(只适用于面试题,不适用于生产环境) 解法二:关联子查询 解法三:自连接 解法四:子查询 ...
分类:
数据库 时间:
2016-11-23 16:32:02
阅读次数:
250
描述:实现分页的一种算法大致过程:访客访问不同的分页,为这个当前页生成动态的查询SQL,然后送到数据库中执行输入:总条数,每页多少条,第几页,查询的SQL,排序的字段注意:传入的排序字段需要构成唯一记录,这就意味着不能单独的使用SortOrder这个单独排序字段反转:SortOrder asc,Po... ...
分类:
编程语言 时间:
2016-10-15 13:44:52
阅读次数:
230
以一种有意义的方式组织数据可能是一项挑战。有时你需要的可能是一个简单的排序,但是通常你需要做更多,你需要分组来进行分析和统计。幸运的 是,SQL提供了大量语句和操作来进行排序,分组和摘要。下面的一些技巧将会帮助你识别什么时候排序,什么时候分组,什么时候以及如何统计。对要每条语句 和操作的详细信息请查 ...
分类:
数据库 时间:
2016-08-22 18:23:47
阅读次数:
200
在sql排序中,oracle默认采用二进制的排序方法。大小写有不同的值,大写的值排在前面。有时候,我们需要处理的情况是,希望忽略大小写来进行排序。有多种方法可以实现:设置NLS环境变量altersessionsetNLS_SORT=‘BINARY_CI‘;使用UPPER和LOWER函数用UPPER函数和LOWER函数把要比..
分类:
数据库 时间:
2016-07-06 18:30:23
阅读次数:
324
如果两个坐标的列是(x1,y1)、(x2,y2),那么他们之间的距离:SQRT((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2)) sql排序 SELECT * FROM m_store ORDER BY SQRT((121.517759-`longitude`)*(121.51775 ...
分类:
数据库 时间:
2016-06-23 12:52:40
阅读次数:
184
SELECTid,updated_time,created_timeFROMtableORDERBYCASEWHENIFNULL(updated_time,‘‘)=‘‘THENcreated_timeELSEupdated_timeENDDESC,created_timeDESC;MYSQLIFNULL函数的使用MYSQLIFNULL(expr1,expr2)如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个..
分类:
数据库 时间:
2016-05-23 19:21:55
阅读次数:
1516
select*fromproductsorderbycasewhenisTop=0then1else0end,pIddesc这句语句我是这么理解的:isTop=0(设为1)未置顶=1置顶(设为0);升序排列。pId是表的主键,自增长;降序排列。这样就能将主键降序与置顶统一按降序排列出来了。
分类:
数据库 时间:
2016-04-16 19:41:41
阅读次数:
899
不解释,全靠悟性: select loan_num,row_number() over(order by loan_num asc) as 'Row Number',rank() over(order by loan_num asc) as 'Rank',dense_rank() over(orde
分类:
数据库 时间:
2016-03-18 17:44:08
阅读次数:
193