mysql 查询语句问题

luxury515 发布于 2018/05/03 10:59
阅读 149
收藏 1

条件:最近10条数据中,取status=-1的数量

SELECT count(status) FROM table where status =-1 order by ID DESC LIMIT 10 ;

 

我为什么无法计算  status =-1 数量?

它返回的怎么44个呢?不是在后面写了limit =10 吗?

以下是问题补充:

@luxury515:select sum(case when status=-1 then 1 else 0 end) from table order by ID desc limit 10; 结果还是一样 (2018/05/03 11:27)
加载中
0
唐紫信
唐紫信

你直接用聚合函数的话,只会存在一条记录,要用group by配合使用

0
草庐过客_雪地游徒
草庐过客_雪地游徒

你要先将前10条数据取出之后才能去统计个数啊

0
l
luxury515

自己作出来了:

SELECT COUNT(*)AS COUNT
  FROM (SELECT STATUS
          FROM 表明
	  ORDER BY ID DESC
         LIMIT 10)AS A
WHERE A.STATUS = -1;

 

0
拾光TM
拾光TM
你限制了10个,可没说哪十个啊
0
唬你呐
唬你呐

看你后写的代码我想你是要算出 最后10条信息里status=-1的数量吧

你这条语句是不是有点不好啊  你把这10条拿出来 用程序判断不是挺好

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部