1. sql中如何按某字段值的首字母分组
select count(*),left(a,1) from table group by left(a,1)
这里假设这个字段名称为a了,表名为table,
请根据你的实际情况修改一下即可.
2. sql语句 根据条件分组 怎么写呢
是筛选出bookid的datetime最新的记录吗?
oracle 可用
select orderid,bookid,datetime from (
select orderid,bookid,datetime, row_number() over(partition by bookid order by datetime desc) "row" ) where "row"=1
3. sql中,按照某个字段的内容进行分组,并在组内加序号
sqlserver2005及以上版本
SELECT ROW_NUMBER() OVER(PARTITION BY 种类 ORDER BY 种类) AS 序号,*
FROM 表
4. sql 某个字段中所包含的某个值分组
没看懂 你要的结果长什么样? 你分组要做哪项聚合?
5. sql语句根据某字段分组后,如何实现如果各组之间有相似值,就将他们的count合并,具体见详情。。
没有办法自动判断,只能你自己处理
比如,取left(SHIP_TO_STATE,2)
SELECTleft(SHIP_TO_STATE,2),count(*)
fromSHIPMENT_HEADERsh1
innerJOINSHIPMENT_DETAILsd1onsh1.SHIPMENT_ID=sd1.SHIPMENT_ID
WHEREsh1.CREATE_DATE_TIME>='2017-01-01'andsh1.CREATE_DATE_TIME<='2017-12-15'andsh1.LEADING_STS=900
GROUPBYleft(SHIP_TO_STATE,2)
6. 求SQL语句根据字段分组
首先,使用下面语句:
select date, count(date) cnt from user where date is not null group by date
结果:
date cnt
1月 2
2月 2
3月 1
在上面语句基础上改进,使之与要求结果一致:
select max(case when date = '1月' then cnt else 0 end ) 1月,
max(case when date = '2月' then cnt else 0 end ) 2月,
max(case when date = '3月' then cnt else 0 end ) 3月
from (select date, count(date) cnt from user where date is not null group by date)
7. sql中根据表中一个字段分组如何分别统计每个分组的记录数
分组统计可以参考以下操作:
当数组重复的时候分组才有意义,因为一个人也可以分为一组,只是没有意义而已,分组采用GROUP BY语句完成,语法如下:
8. SQL SERVER按照某列的某值进行分组统计数据
SELECT 学校名称,
语文平均分 = avg(语文),
语文及格率 = count(case when 语文>= 60 then 语文 else null end)/count(语文),
数学平均分 = avg(数学),
数学及格率 = count(case when 数学>= 60 then 数学 else null end)/count(数学)
from student
group by 学校名称
9. SQL如何查询一张表的所有字段并按其中一个字段进行分组
1、创建测试表,
create table test_group_cols(id number, value varchar2(20), remark varchar2(20));
10. sql server中 如何根据某列的数值来分组
select 'null' as fName,count(b) from test where A is null
union all
select 'not null' as fName,count(b) from test where A is not null