SQL中关于条件Count的查询语句问题

create table abc(A int,B int)

Select A,count(B) as total from ABC group by A
Select A,count(B) as total1 from ABC where B > 30 group by A
Select A,count(B) as totlal2 from ABC where B > 20 group by A

如何合并这三个查询?
得到一个查询结果:
A,total,total1,total2

答:

Select A,
count(B) as total,
sum(case when B > 30 then 1 else 0 end) as total1,
sum(case when B > 20 then 1 else 0 end) as total2
from ABC group by A
时间: 2024-08-23 17:05:27

SQL中关于条件Count的查询语句问题的相关文章

不同数据库oracle mysql SQL Server DB2 infomix sybase分页查询语句

在不同数据库中的使用的分页查询语句: 当前页:currentpage 页大小:pagesize 1. Oracle数据库 select * from (select A.*,rownum rn from ( QUERY_SQL ) A )  where rn <= ((currentpage+1)*pagesize) and rn > (currentpage*pagesize) 注:QUERY_SQL为查询sql语句. 或 select * from (select rownum rn,id

SQL中多条件查询括号的用途

界面: 代码 select id,routeName,routeCharacteristic,routeIntroductions,costDetail,participate,click,routeCategory,dineMenu,weather,isEnable,addPerson,addDate,competitiveProducts,luxury,onVacation,characteristic,hotRecommend,referencesPrice,specialPreferen

怎样从生产数据库中获得想要的查询语句,把结果集批量插入到磁盘txt文件中

第一步:建立存储过程       实现传入参数,生成结果到磁盘的txt文件中: USE [XXXXX] GO /****** Object:  StoredProcedure [dbo].[Proc_sql_to_file]    Script Date: 2018/5/13 15:47:10 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ==========================================

SQL注入之MySQL常用的查询语句

MySQL是一种使用很广的数据库,大部分网站都是用MySQL,所以熟悉对MySQL数据库的注入很重要. 首先来说下MySQL注入的相关知识点 在MySQL5.0版本之后,MySQL默认在数据库存放一个“information_schema”的数据库,在这个库中, SCHEMATA,TABLES和COLUMNS这三个表名是必须记住的. SCHEMATA表存储该用户创建的所有数据库的库名,在该表中记录数据库名的字段为SCEMA_NAME. TABLES表存储该用户创建的所有数据库的库名和表名,在该表

PHP中对mysql预编译查询语句的一个封装

原文地址:http://chen-shan.net/?p=474 为了防止sql注入,我们都使用过mysqli这个类,但是每次都需要绑定参数,绑定结果等,比较麻烦,所以可以把这些重复的语句封装成一个函数. 一.封装前. 传统的一个预编译方式的”select”查询代码: $id = "1"; $name = "test_name"; $db_obj = new mysqli("localhost", "db_user", &qu

sql 循环表,获取表中某一字段作为查询语句的条件之一

DECLARE @timeSpan TABLE ( id int, intime DATETIME , outtime DATETIME ) DECLARE @distance TABLE ( x float, y float ) INSERT INTO @timeSpan ( id,intime,outtime) SELECT ROW_NUMBER() over (order by att.inTime) 'rowindex',att.inTime,att.outTimeFROM attend

SQL中的条件判断语句(case when zhen if,ifnull)用法

一.case when then 适用于:sqlserver 和mysql case具有两种格式.简单case函数和case搜索函数.这两种方式,可以实现相同的功能.简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判定式.还有一个需要注重的问题,case函数只返回第一个符合条件的值,剩下的case部分将会被自动忽略. --简单case函数case sex  when '1' then '男'  when '2' then '女’  else '其他' e

【转】Python中的条件选择和循环语句

转:http://www.cnblogs.com/dolphin0520/archive/2013/03/13/2954682.html 一.条件选择语句 Python中条件选择语句的关键字为:if .elif .else这三个.其基本形式如下: if condition: block elif condition: block ... else: block 其中elif和else语句块是可选的.对于if和elif只有condition为True时,该分支语句才执行,只有当if和所有的elif

Shell中的条件测试和循环语句

条件测试 1. 条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假, 则命令的Exit Status为1(注意与C语?言的逻辑表?示正好相反).例如测试两个数的大小关系: 虽然看起来很奇怪,但左方括号[确实是一个命令的名字,传给命令的各参数之间应该?空格隔开,比如,$VAR.-gt.3.]是[命令的四个参数,它们之间必须?空格隔开.命令test或[的参数形式是相同的,只不过test命令不需要]参数.以[命令为