mysql中分类查询统计数量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中分类查询统计数量相关的知识,希望对你有一定的参考价值。

查询上表book表中按照hotelid分类,并统计显示roomtype的个数。其中roomtype的1234分别代表单人间、多人间、情侣套房、总统套房,显示的结果大概如下:
hotelid 单人间数 多人间数 情侣套房数 总统套房数
1 1 1 1 1
2 0 0 1 1
如果不好办,可以重新建表,具体建立几张表、表列名是啥,请详细说明哦,谢谢

这个我试了一下,结果能输出你想要的结果,只是得php,foreach返回的数据组合成你想要的数组


SELECT hotelid, roomtype, count( roomtype ) AS n
FROM `test`
WHERE 1
GROUP BY hotelid, roomtype
LIMIT 0 , 30

参考技术A 我试过了,一条语句我做不到,join union不行,条件语句也不行,分成四段,单人间/多人间/情侣间/总统间,最后合在一起就行了

SELECT hid,count(*) as '单人间数' FROM `hotelinfo` WHERE type=1 GROUP BY hid;

SELECT hid,count(*) as '双人间数' FROM `hotelinfo` WHERE type=2 GROUP BY hid;
。。。。。追问

你这个方法也行。不过我忘了说明了, 我上面列出的表是我多表连接的查询结果,我有3张表,hotel,room,book。大致你应该能猜出来表有哪些列。

参考技术B select bookid,sum(state1) total from 表名 group by code order by code

mysql是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一。可以比喻为一个有序管理的超级大仓库

mysql分库分表

先说问题,分表以后的查询问题
先脑补一个订单表,
主键 创建时间 购买商品id 商品分类 所属商铺 用户id 当前状态
平时会有各种各样的查询要求,
有每天的统计订单数量的查询、
每个用户某个时间段的订单查询、
某个商品某段时间的购买数量统计、
某个商铺的销售情况统计
……..
总之就是每个维度的查询都很多
那么问题来了,如果我们按照某个维度,比如id分表,每500万条数据存一张表,假设这时候有20张表,一共一亿条数据,重新思路上面的4中查询需求如何实现?不可能每一次查询都要跑完20张表然后组合数据吧!那又如何满足实际需求呢??

以上是关于mysql中分类查询统计数量的主要内容,如果未能解决你的问题,请参考以下文章

mysql查询统计数量

Laravel统计Mysql 单个字段不同值的数量

Laravel统计Mysql 单个字段不同值的数量

MySQL 查询某个列中同样值的数量统计

mysql join查询,并统计数量

如何使用MySQL查询某个列中相同值的数量统计