mysql:只用一条sql语句,如何查出一个表里,不同条件对应的数据条数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql:只用一条sql语句,如何查出一个表里,不同条件对应的数据条数相关的知识,希望对你有一定的参考价值。

如下表:

id name age sex
1 a 1 0
2 b 10 1
3 c 2 1

得出:sex为1且age为2的数量,sex为1且age为5的数量,sex为1且age为10的数量
要求:效率高
可能我表达的不是很清楚,需要得出的是sex为1的情况下,有多少个是2岁,多少个是5岁,多少个是10岁这三个答案

mysql只用一条sql语句查出一个表里不同条件对应的数据条数的步骤如下:

我们需要准备的材料分别是:电脑、sql查询器。

1、首先,打开sql查询器,连接上相应的数据库表,例如stu2表。

2、点击“查询”按钮,输入:

select count(*) from stu2 where sex=1 and age=2

union all

select count(*) from stu2 where sex=1 and age=5

union all

select count(*) from stu2 where sex=1 and age=10

3、点击“运行”按钮,此时能只通过一条sql高效查询结果。

参考技术A

看一下这个SQL

select
sum(
if((sex = 1 and age = 2),1,0)
),
sum(
if((sex = 1 and age = 5),1,0)
),
sum(
if((sex = 1 and age = 10),1,0)
)
from a_test

 这个SQL现在就是得出的这个结果

本回答被提问者和网友采纳

以上是关于mysql:只用一条sql语句,如何查出一个表里,不同条件对应的数据条数的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver数据库里怎么查找一个表里的约束,要查出 约束名、列名、约束类型?用sql语句查询

一条SQL查询语句是如何执行的?

2 01 | 基础架构:一条SQL查询语句是如何执行的?

深入理解SQL原理:一条SQL查询语句是如何执行的?

mysql表里数据分类,分类后显示每组分类里面第一条记录

SQL(MySQL + PHP) 查询,查询排名,表内一个人多条数据,查出最大的那条排名,请问!