MySQL统计价格区间内的商品数量sql语句

Excel中我们可以使用这个公式统计出各个价格所属的价位段,然后再通过透视表得出数据结果:

=LOOKUP(H2,{0,49.99,99.99,149.99,199.99,249.99;”050″,”100″,”150″,”200″,”250″,”250+”})

MySQL中则可使用以下命令,一步到位:

SELECT price_range, count(*) AS number
FROM
(select case when Price >= 0 and Price <= 49.99 then '050'
             when Price >= 50 and Price <= 99.99 then '100'
             when Price >= 100 and Price <= 149.99 then '150'
             when Price >= 150 and Price <= 199.99 then '200'
             when Price >= 200 and Price <= 249.99 then '250'
             else '250+'
         end as price_range
FROM products
WHERE 1
) AS  price_summaries
GROUP BY price_range
ORDER BY price_range;
为了方便排序,以上我们简化了数字区间的命名,相当于是[0,50)、[50,100)、[100,150)、[150,200)、[200,250)、[250,)

时间: 2024-08-03 05:27:34

MySQL统计价格区间内的商品数量sql语句的相关文章

PHP+Mysql实现多关键字与多字段生成SQL语句的函数_php技巧

本文实例讲述了PHP+Mysql实现多关键字与多字段生成SQL语句的函数的方法.分享给大家供大家参考.具体实现方法如下: 先看实例: 复制代码 代码如下: $keyword="1 2 3"; echo $sql=search($keyword,"enter_gongyin_pic","a+b+c"); //函数生成,没有LIMIT,没有ORDER BY 生成: 复制代码 代码如下: SELECT * FROM `enter_gongyin_pic

MySql使用show processlist查看正在执行的Sql语句

今天上班例行的查看了下服务器的运行状况,发现服务器特卡,是mysqld这个进程占用CPU到了99%导致的. 比较好奇是那个程序在使用mysql导致cpu这么高的,通过show processlist命令查看了当前正在执行的sql语句,从而定位到了对应的程序,发现代码中有一个死循环在不停的查询导致cpu占用99%,原因找到了问题就好解决了.   这里简单的记录一下processlist的用法: processlist 命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句,两种方式使

MySQL数据库中查找执行效率慢的SQL语句

启动Mysql时加参数--log-slow-queries来记录执行时间超过long_query_time秒的sql: /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock --log-slow- querie

mysql数据库中索引查看建立删除的sql语句

本文介绍如何用sql语句建立.查看.删除mysql表索引. 1.查看哪些表增加了索引sql语句  代码如下 复制代码 mysql> show index from tblname; mysql> show keys from tblname; 比如执行"show index from v9_danji"这条sql语句,查看v9_danji这张表建立了哪些索引,会出来如下结果,可以看到索引的名称和索引的类型等. 查看表索引sql 2.给表某个字段添加索引sql语句    代码

MYSQL批量修改表前缀与表名sql语句

方法一:使用sql语句修改mysql数据库表前缀名 首先我们想到的就是用sql查询语句来修改,这个方法也很方便,只需进入phpmyadmin后,在运行 SQL 查询框中输入如下语名就可以了. ALTER TABLE 原表名 RENAME TO 新表名; 如:ALTER TABLE old_post RENAME TO new_post; Sql查询语句有一个缺点,那就是一句SQL语句只能修改一张数据库的表名,如果你要精确修改某一张表,很好用.如果数据库表很多的话,不推荐使用.有木有,批量修改多个

MySQL 替换某字段内部分内容的UPDATE语句_Mysql

要替换某一个字段中的部分内容,可以用update 语句: UPDATE 表名 SET 字段名= REPLACE( 替换前的字段值, '替换前关键字', '替换后关键字' ) WHERE 字段名 REGEXP "替换前的字段值"; 比如替换标题里面的产品价格就是用这个方法 复制代码 代码如下: UPDATE dede_archives SET title= REPLACE( title, 155, 170 ); UPDATE dede_archives SET title= REPLAC

使用Jmeter对Mysql进行压力测试无法执行多条sql语句问题

mysql|问题|语句|执行 执行一条语句可以,多条语句则出错,查询Jmter日志,告知sql语法错误. 后来发现需要allowMultiQueries参数置为true,而且,只有MySQL Connector/J 3.1.1以上版本才支持. 建立连接时设置一下就可以了,如:jdbc:mysql://192.168.3.180/sample?user=root&password=&allowMultiQueries=true 如图:

mysql通过查看跟踪日志跟踪执行的sql语句_Mysql

在SQL SERVER下跟踪sql采用事件探查器,而在mysql下如何跟踪sql呢? 其实方法很简单,开启mysql的日志log功能,通过查看跟踪日志即可. 开启mysql的日志log方法: windows环境下的配置方法: 我使用的版本:Version: 5.0.37-community-nt-log (MySQL Community Edition (GPL)) 找到my.ini,我的是在"G:\Program Files (x86)\MySQL\MySQL Server 5.0"

找出mysql中like模糊查询效率低的sql语句

相比update和insert,一般查询应该是数据库中操作最频繁的.而在有些应用场景需要用到like模糊查询,那么对于大数据,查询的时候就要注意了.   现在来分析一下为什么like语句查询的效率会很低,测试数据共4000000条,如下图:     第一步:不使用索引 下图可以看出,不使用索引的时候普通查询与like查询的耗时相当,like略长,这也是必然的,因为它要进行额外的算法.     第二步:使用索引   如下图,使用索引后,普通查询的耗时基本算是秒查,非常快:而like查询还是耗时一秒