单个select语句实现MySQL查询统计次数_Mysql

单个select语句实现MySQL查询统计次数

单个select语句实现MySQL查询统计次数的方法用处在哪里呢?用处太多了,比如一个成绩单,你要查询及格得人数与不及格的人数,怎么一次查询出来?
MySQL查询统计次数简单的语句肯定是这样了:

复制代码 代码如下:

select a.name,count_neg,count_plus from   
(select count(id) as count_plus,name from score2 where score >=60 group by name) a,  
(select count(id) as count_neg,name from score2 where score <=60 group by name) b   
where a.name=b.name  

即必须至少用2个语句。

今天刚好碰到发现mysql支持if,那就创造性的用if来实现吧:

复制代码 代码如下:

select name, sum(if(score>=60,1,0)),sum(if(score<60,1,0)) from score2 group by name 

单个select语句实现MySQL查询统计次数的方法简单吧。

原理就是大于60,就赋值为1,那么sum就是计数了。

Mysql查询统计函数中的count

今天我遇到一个题目:统计所有女生成绩大于90以上有总数
我刚开始就这样写:$sql = "select 女生成绩 from use where 成绩 > 90“;$result = mysql_query($sql);
$row = mysql_num_rows($result);echo "总数为:$row";
可是100条还行吧,如果是10000条那是不是要很慢啊!!后来一个朋友给我说用count函数,这我才想起来。
把上面的sql语句改为:
$sql = "select count(*),女生成绩 from use group by 女生成绩 having 女生成绩 > 90";
这样查询语句就快多了 

时间: 2024-08-19 20:00:04

单个select语句实现MySQL查询统计次数_Mysql的相关文章

php下巧用select语句实现mysql分页查询_Mysql

利用select语句的一个特性就可以很方便地实现mysql查询结果的分页,下文对该方法的实现过程作了详细的介绍,希望对您能有所启迪. mysql分页查询是我们经常见到的问题,那么应该如何实现呢?下面就教您一个实现mysql分页查询的好方法,供您参考学习. mysql中利用select语句的一个特性就可以很方便地实现查询结果的分页,select语句实现mysql分页查询的语法: 复制代码 代码如下: SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BI

SQL多表链接查询、嵌入SELECT语句的子查询技术

高级查询技术主要是涉及多个表的链接查询技术.嵌入SELECT语句的子查询技术,把多个查询联合起来的联合技术等. 1. 连接查询 需要同时从两个或者连个以上的表中检索数据.链接就是允许同时从两个表或者两个以上的表中检索数据,指定这些表中的某个或者某些列作为连接条件.在SQL Server中,可以使用两种连接语法的形式,一种是ANSI链接语法形式,这是连接条件出现在FROM子句中;另外一种SQL Server链接语法形式,这是连接条件出现在WHERE条件中. 1. ANSI链接 链接错做可以同时查询

用SELECT... INTO OUTFILE语句导出MySQL数据的教程_Mysql

表数据导出到一个文本文件最简单的方法是使用SELECT... INTO OUTFILE语句的查询结果直接导出到一个文件在服务器主机上.导出数据的SELECT...INTO OUTFILE声明: 这句话的语法结合了常规的SELECT INTO OUTFILE文件名的末尾.默认的输出格式是相同的LOAD DATA,所以下面的语句导出tutorials_tbl的表制表符分隔的,换行结尾的文件到/tmp/tutorials.txt: mysql> SELECT * FROM tutorials_tbl

mysql查询语句问题-mysql查询语句求助 关于IF ELSE

问题描述 mysql查询语句求助 关于IF ELSE 写一个sql语句查询一个表,当这个sql语句查询没有查询到结果(这个表中没有数据)则执行另外一个sql语句查询另外一个表. 两个表中的数据是相克的,例如:一个表中有了一条外键id为1的数据,则另外一张表中不能有外键id为1的数据.两个表的外键指向了另外一张表的id. 希望高手能解答下!!!!! 万分感谢!!!!!!! 解决方案 这个直接用sql语句好像还不好控制 最好是在java代码里面进行控制 解决方案二: mysql的语法不太懂,我写的是

MySQL中select语句使用order按行排序_Mysql

本文介绍MySQL数据库中执行select查询语句,并对查询的结果使用order by 子句进行排序. 再来回顾一下SQL语句中的select语句的语法: Select 语句的基本语法: Select <列的集合> from <表名> where <条件> order by <排序字段和方式> 如果要对查询结果按某个字段排序,则要使用order by 子句,如下: select * from <表名> order by <字段名称>

mysql查询统计连接情况

//哈哈,同事说滴,记录下. use test; CREATE TABLE if not exists  conn_log (   conn_id int(11) DEFAULT NULL,   conn_time datetime DEFAULT NULL,   user_name varchar(50) DEFAULT NULL,   cur_user_name varchar(50) DEFAULT NULL,   conn_date varchar(15) DEFAULT NULL,  

html中select语句读取mysql表中内容_php基础

<?  $record=0;  $db=@mysql_pconnect('localhost','root');  @mysql_select_db('1234',$db);  $strsql="select * from 1234_data";  $result=@mysql_query($strsql);  $data=@mysql_fetch_array($result);  $record=@mysql_num_rows($result);   echo "&l

Mysql select语句设置默认值的方法_Mysql

1.在没有设置默认值的情况下: 复制代码 代码如下: SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果: 设置显示默认值: 复制代码 代码如下: SELECT userinfo.id, user_name, role, adm_regionid, IFNUL

MySQL 统计查询实现代码_Mysql

统计数据行数 SELECT COUNT() FROM 语法用于从数据表中统计数据行数. 语法: SELECT COUNT(column) FROM tb_name 该 SQL 语法用于统计某一字段的数据行数,COUNT() 内不能是多个字段,但可以是 * 号. 例子: 复制代码 代码如下: <?php $conn = @mysql_connect("localhost","root","root123"); if (!$conn){ die