`

一些SQL

SQL 
阅读更多

1、获取记录的条数

     select count(*) from order where ...;

     注:表上有pk,那count(*) 一定会走pk的。

 

 2、使用rownum排序分页

     SELECT  *

     FROM   (  SELECT rownum linenum, t1.*

                    FROM  (

                                SELECT     *

                                FROM        order

                                where       test='test'

                                ORDER BY  #field# DESC)  t1 
                    WHERE rownum <= #endNum#)

                    WHERE linenum >= #startNum#

     注:field必须建立索引

 

1、  SQL中一些合计函数(Aggregate functions

功能:Aggregate functions 的操作面向一系列的值,并返回一个单一的值。

1 常用的Aggressive function

 

函数

描述

COUNT(*)

返回被选行数

COUNT(DISTINCT column)

返回相异结果数目

COUNT(column)

返回某列的行数(不包括NULL值)

SUM(column)

返回某列的总和

AVGcolumn

返回某列的平均值

MAX(column)

返回某列的最大值

MINcolumn

返回某列的最小值

注:这些Aggressive function并不是所有的数据库都支持的。

 

2、  GROUP BY字句

功能:GROUP BY字句用于结合合计函数,根据一个或多个列结果集进行分组

语法:

SELECT column_name, aggregare_function(column_name)

FROM table_name

WHERE column_name operate value

GROUP BY column_nam

 

3、  HAVING字句

功能:WHERE 关键字无法与合计函数一起使用

     SELECT column_name, aggregate_function(column_name)

     FROM table_name

     WHERE column_name operator value

     GROUP BY column_name

     HAVING aggregate_function(column_name) operator value

 

例子:SELECT login_id, count(*) FROM order GROUP BY login_id HAVING count(*)>10000

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics