获取mysql数据库中car表中最高可用10款车型的sql命令是什么?
有2个表相关,模型和汽车.Not尺寸关于品牌表,但为了简单。如下所示。
> model car
> -------------------- -------------------------------------
> model_id| model_name| |car_id|license_plate_number|model_id |
> --------------------- -------------------------------------
> 0 | altis | | 0 | xd-3203 | 1 |
> 1 | march | | 1 | dj-2323 | 1 |
> 2 | civic | | 2 | kk-9999 | 2 |model_id是car表中的外键。
假设有50种车型和200辆汽车。请指导我如何获得在汽车表中最高的top10模型。并获取每个top10型号的可用车号。
或者告诉我概念,我需要group by,count还是其他什么?
发布于 2011-03-08 21:51:03
根据行数获得前10名的基本查询如下:
-- SQL SERVER
select top 10 model_id
, count(*) as qtyCars
from cars
group by model_id
order by count(*) desc
-- Other servers
select model_id
, count(*) as qtyCars
from cars
group by model_id
order by count(*) desc
LIMIT 10编辑:我通常不会推我自己的博客,但我几年前写的这篇文章一直是我最受欢迎的搜索命中率,并涵盖了分组:http://database-programmer.blogspot.com/2008/04/group-by-having-sum-avg-and-count.html
发布于 2011-03-08 21:50:49
不确定您想要如何对它们进行分组,所以我只是根据它们的model_id对它们进行了分组
SELECT TOP 10 * FROM model JOIN car ON car.model_id = model.model_id GROUP BY car.model_id DESChttps://stackoverflow.com/questions/5233322
复制相似问题