1.Select * From [表名] where 列名=条件 Order by 列名 Desc;
2.Select COUNT(*) From [表名] where 列名=条件 Order by 列名 Desc;
1的执行没有问题,2的执行却出现问题“ORDER BY 子句中的列 "Seo_优化关键词报表.Seo报表_编号" 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。”,请问这个是什么原因呢?
COUNT函数的所有用法:
---统计某个字段的值的记录数
Select COUNT(字段名) From 表名 where 字段名 =条件;
---统计表中所有的记录数
Select COUNT(*) From 表名 where 字段名 =条件;
---过滤掉重复的字段中的数据,统计表中所有的记录数
Select COUNT(distinct 字段名) From 表名 where 字段名 =条件;
---根据字段名分组,统计所有的记录数
Select COUNT(*) From 表名 where 字段名 =条件 group by 字段名;
用了聚合函数查询相关的列就需要group by 查询的列
Select COUNT(*) From [表名] where 列名=条件
我用这个可以执行
你desc前面有列,所以desc前的列会无效
@lcqll: 谢谢您的回答!
先搞清楚COUNT(*)函数是里面的参数*是啥意思以及怎么用吧
谢谢您的回答!
count(*) 是一個聚合函数,count(*)數在某一範圍內,有多少個什麼,所以要用 Group by 去指定在什麼範圍內count.
谢谢您的回答!
@金琥: welcome!
给你一把红豆,一把绿豆,一把黑豆,然后让你数数我一共给了你多少豆子,你数过告诉我100个,然后我让你按豆子种类把100个排序,这个显然是不符合逻辑的,总量无法按维度排序,所以你要求先要知道每个种类的豆子有多少个
谢谢您的回答!