sql查询的问题

sAS112UUUYY111 2010-04-20 02:18:57
select count(*) from Order
和select count(o) from Order 的区别?

在写程序时,有些情况,第二种查询无法完成获取数量
...全文
330 39 打赏 收藏 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
fellatioyzx 2010-04-23
  • 打赏
  • 举报
回复
顶1楼,快速又经典
charles361 2010-04-23
  • 打赏
  • 举报
回复
别用那么怪异的了,可以用count(*)或count(1)
QQloveSLX 2010-04-23
  • 打赏
  • 举报
回复
cunt(o) o是什么东东?貌似很少见!除非是一个字段!
chzhm159 2010-04-23
  • 打赏
  • 举报
回复
学习了
曹牛牛 2010-04-23
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 gongyali2005 的回复:]
select count(id) from Order!这样应该也可以
[/Quote]
顶~!!
sqd2010 2010-04-23
  • 打赏
  • 举报
回复
count(0)我也是第一次见
绝对零度9527 2010-04-23
  • 打赏
  • 举报
回复
JF~~~~~~~~~~~`
sAS112UUUYY111 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 sas112uuuyy111 的回复:]
引用 26 楼 sas112uuuyy111 的回复:
select count(*) from Order
和select count(o) from Order o
有什么差异呢?
o指的是Order

[/Quote]


??????????????????????????????????????????????????????????????????
这是我的疑问点???????????????……
hu841128 2010-04-21
  • 打赏
  • 举报
回复
支持1楼!!!
luokuo 2010-04-21
  • 打赏
  • 举报
回复
学习了
aSysBang 2010-04-21
  • 打赏
  • 举报
回复
select count(1) from Order

一般我都这么写
sAS112UUUYY111 2010-04-21
  • 打赏
  • 举报
回复

select count(o) from Order o;
o是Order
sAS112UUUYY111 2010-04-21
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 sas112uuuyy111 的回复:]
select count(*) from Order
和select count(o) from Order o
有什么差异呢?
o指的是Order
[/Quote]
??????????????????????????????????????????????????????????????????
这是我的疑问点????????????????????
shuxiang520 2010-04-21
  • 打赏
  • 举报
回复
count(0)我还是第一次见。。
liujun3512159 2010-04-21
  • 打赏
  • 举报
回复
路过,我很乖,我不说话
sAS112UUUYY111 2010-04-21
  • 打赏
  • 举报
回复
select count(*) from Order
和select count(o) from Order o
有什么差异呢?
o指的是Order
轻剑 2010-04-21
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 l417584711 的回复:]

select count(1) from Order

一般我都这么写
[/Quote]
我也这么些,听说效率高
sAS112UUUYY111 2010-04-21
  • 打赏
  • 举报
回复
注意:
select count(o) from Order o where o.createDate >=?1
duqiangcise 2010-04-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 sas112uuuyy111 的回复:]
select count(*) from Order
和select count(o) from Order 的区别?

在写程序时,有些情况,第二种查询无法完成获取数量
[/Quote]
select count(*) from Order;--查询出order表中记录总数(有可能有些记录中包含空.)
select count(o) from Order;--查询出order表中o列不为空的所有记录总数。
Lynn_20043745 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 sgzlove2007 的回复:]
select count(*) from Order
和select count(o) from Order 的区别

第一种 是效率最高的 它通过索引高效的把数量计算出来 一次磁盘的I/O
第二种在数据库的操作上是 先通过索引的计算 然后通过ORDER索引再计算o的数量 两次磁盘的I/O

所以不到非要需要COUNT(O) 的情况下 请用COUNT(*)
[/Quote]
学习了
加载更多回复(16)

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧