sql实现如下查询:查询符合条件的某字段并在每个后面显示统计记录数,具体如图:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql实现如下查询:查询符合条件的某字段并在每个后面显示统计记录数,具体如图:相关的知识,希望对你有一定的参考价值。

表数据如下图,表名user

(一)不要这种效果
select unit,count(*) as sum from user where level = 3;

(二)也不要这种效果
select unit,count(*) as sum from user where level = 3 group by unit;

(三)需要这种效果
这是我自己做的,也是要实现的效果

参考技术A select a.unit,b.sum from (select unit from user where level = 3 ) a ,(select count(*) as sum from user where level = 3 ) b本回答被提问者采纳 参考技术B ...
你这绝对是没规律的硬性结果

select unit,count(1)
from user a cross apply (select count(1)
from user
group by [level]) b
where a.[level]=3
group by unit追问

这个sql语句运行不出来,可以把你的运行结果截图发来吗?谢谢

追答

提示什么?。。。
我的结果就是
华 2
中 2
的,,我远程电脑的,,没法截屏的

追问

很抱歉这个确实无法运行。谢谢你了

追答

好吧,你截图的看着是sqlserver,谁知道你是mysql

连表查询之根据相关条件,查询另外一个表或多个表的某字段

 

1、送检单位

 

代理商是从代理商表中取得数据

销售人员从销售表中取得数据

说一个简单的思路:

sql语句找到连接两个表的条件,把另外一个表要用到的字段 写一个

 

<resultMap type="com.biodx.bus.inspectionUnit.model.Agent" id="agentBaseResultMap">
<result column="ID" property="id" jdbcType="VARCHAR" />
<result column="NAME" property="name" jdbcType="VARCHAR" />
<result column="CODE" property="code" jdbcType="VARCHAR" />
</resultMap>

a、然后在inspection的字段里加上自己需要代理商表的字段,然后在inspection的resultMap加入这两个字段,然后在model添加get set方法 这样就能在数据库获取这两个字段了,然后在html页面把这两个字段分别换上,就会显示代理商和销售人员的名字,而不显示code

<sql id="Base_Column_List" >
ID, CODE, CHINA_NAME, ENGLISH_NAME, SPELL_NAME, AGENT_CODE, SALE_CODE, PROVINCE_CODE, 
CITY_CODE, AREA_CODE,CREATER,TO_CHAR(CREATE_TIME , ‘yyyy-mm-dd‘) AS CREATE_TIME,a.name as aName,s.name as sName
</sql>

b、如过没有获取这两个表的数据,那就需要在controller  的list添加方法,即:获取代理商name的service

List<Agent> list = agentService.list(para);
model.addObject("list", list);

 

以上是关于sql实现如下查询:查询符合条件的某字段并在每个后面显示统计记录数,具体如图:的主要内容,如果未能解决你的问题,请参考以下文章

请问修改表中的某一个日期类型的字段为当前系统时间的sql语句该如何书写。

连表查询之根据相关条件,查询另外一个表或多个表的某字段

SQL 查询多条符合条件的记录

ACCESS 怎么样在查询中满足一个条件而显示其余与之相应的字段信息

在SQL中,如何查询某一字段中最大值的数据

SQL语句中两个表的连接