sql语句写法(sum和count)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句写法(sum和count)相关的知识,希望对你有一定的参考价值。

如何用一条sql语句得到表t1,t2,t3三个表的总条数。
select count(*) from t能得到一个表的条数。如何把sum这个东西用上得出三个表的总条数。如果sum不合适换别的也行。
我用的是Oracle。一楼问一下,count(0)是什么意思?

参考技术A ps:我这样写在数据库中执行的时候它会显示出所有数据
是不是
写成if(rs->next)
应该是while(rs->next)
add:
==<<
但是为什么在后面加个order
by
sum(f_long)
desc就不好使了呢
哪位高手知道啊?怎么进行排序啊!帮个忙
你可以在你最外面再包装个select语句的啊
select
*
from
(你的sql)
a
order
by
a.s
desc
==<<
while(rs->next)
把name
phone
去了也不行
by
s也不行!
这个是因为你的group
by
f_calladdr,name,phone
有这个字段
参考技术B   SQL循环语句
declare @i int
set @i=1
while @i<30
begin
insert into test (userid) values(@i)
set @i=@i+1
end
  while 条件
begin
执行操作
set @i=@i+1
end

WHILE
设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。

语法
WHILE Boolean_expression
sql_statement | statement_block
[ BREAK ]
sql_statement | statement_block
[ CONTINUE ]

参数
Boolean_expression

返回 TRUE 或 FALSE 的表达式。如果布尔表达式中含有 SELECT 语句,必须用圆括号将 SELECT 语句括起来。
参考技术C Select (select count(0) from t1) + (select count(0) from t2) + (select count(0) from t3)

上面这句,在SQL SERVER 2000里面运行通过。

Select (select count(0) from t1) + (select count(0) from t2) + (select count(0) from t3) from dual;

这样试试看行不。现在手上没有ORACLE数据库。

COUNT(0) 和COUNT(*) 一个效果。
据说是COUNT(0) 速度会快些,原因不知道。
参考技术D Select (select count(0) from t1) + (select count(0) from t2) + (select count(0) from t3)
好像Oracle的select 必须跟表名的,应该在Oracle是出不来的
第5个回答  推荐于2016-09-24 oracle
select sum(a) from (

select count (*) as a from biao1
union all
select count (*) as a from biao2
union all
select count (*) as a from biao3
)本回答被提问者采纳

LINQ to SQL语句Count/Sum/Min/Max/Avg操作符

使用场景

类似于SQL中的聚合函数,用于统计数据,不延迟。如返回序列中的元素数量、求和、最小值、最大值、求平均值。

Count

说明:用于返回集合中元素的个数,返回Int类型,生成SQL语句为SELECT COUNT(*)  FROM

1.  简单形式

 返回订单数量。

 var q = context.Orders.Count(); 

2. 条件形式

返回中客户为伦敦的数量。

var q = context.Customers.Count(p => p.City == "London");

 LongCount

说明:用于返回集合中元素的个数,返回Long类型,不延迟,可用于返回元素个数比较的集合,可视情况可以用LongCount来统计元素个数,返回Login类型比较精确。生成的SQL语句为SELECT  COUNT_BIG(*)  FROM。

 var q = context.Customers.LongCount();

Sum

说明:用于返回集合数值类型元素之和,集合中的元素应为INT类型。不延迟。生成SQL语句为SELECT SUM(...) FROM 

1. 简单形式

返回订单的总运费:

 var q = context.Orders.Select(n => n.Freight).Sum();

2. 映射形式

返回商品的订货总数:

 var q = context.Products.Sum(n => n.UnitsOnOrder);

Min

说明:返回集合中元素的最小值。不延迟。生成的SQL语句SELECT MIN(…) FROM

1. 简单形式

返回商品价格最低的元素:

 var q = context.Orders.Select(n => n.Freight).Min();

2. 映射形式

返回订单中运费最低的元素:

  var q = context.Orders.Min(o => o.Freight);

3. 组合形式

查找每个类别中单价最低的元素:

 var q = from p in context.Products
                        group p by p.CategoryID into t
                        select new
                        {
                            CategoryID = t.Key,
                            Cheapest = from p2 in t where p2.UnitPrice == t.Min(p3 => p3.UnitPrice) select p2
                        };

Max

说明:返回集合中元素的最大值。不延迟。生成的SQL语句为 SELECT MAX(*) FROM

1. 简单形式

返回商品单价最大的元素:

  var t = db.Products.Select(n => n.UnitPrice).Max();

2. 映射形式

 var q = db.Products.Max(p => p.UnitPrice);

3. 组合形式

查找每个类别中单价最大的元素:

var categories =
    from p in db.Products
    group p by p.CategoryID into g
    select new {
        g.Key,
        MostExpensiveProducts =
            from p2 in g
            where p2.UnitPrice == g.Max(p3 => p3.UnitPrice)
            select p2

Avg

 说明:用于返回集合中数值类型的平均值,集合应为数值类型集合。返回Double类型,不延迟。生成的SQL语句为SELECT AVG(...) FROM 

1. 简单形式

返回商品价格的平均值:

var t = db.Products.Select(p => p.UnitPrice).Average();

2. 映射形式

 var t = db.Products.Average(p => p.UnitPrice);

3. 组合形式

查找每个类别中单价高于该类别平均单价的产品:

 var t = from c in db.Products
                        group c by c.CategoryID into g
                        select new
                            {
                                CategoryID = g.Key,
                                Price = from p in g where p.UnitPrice >= g.Average(n => n.UnitPrice) select p
                            };

 

以上是关于sql语句写法(sum和count)的主要内容,如果未能解决你的问题,请参考以下文章

SQL语句中count和count的区别

SQL语句——17统计函数

LINQ to SQL语句Count/Sum/Min/Max/Avg操作符

LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg (转)

SQL语句的Count函数用法和字符串拼接

sql 聚合语句,count的用法