Mysql 如果我想要';t显示前10个记录列表

Mysql 如果我想要';t显示前10个记录列表,mysql,sql,Mysql,Sql,我有一个房间预订系统,用户可以选择一个房间,然后为给定的房间预订时间段 我不想再扩展我的系统了,我可以选择预订最多的前十名房间 您可以在此处查看我的数据库及其外键: 我知道我可以计算所有房间id为2 fx的预订: SELECT COUNT(*) FROM `bookings` WHERE `room_id` = 2 但我想实现的是,有这样一个列表: Room1 = 84 bookings Room2 = 70 bookings Room3 = 54 bookings etc. 有人能给我指

我有一个房间预订系统,用户可以选择一个房间,然后为给定的房间预订时间段

我不想再扩展我的系统了,我可以选择预订最多的前十名房间

您可以在此处查看我的数据库及其外键:

我知道我可以计算所有房间id为2 fx的预订:

SELECT COUNT(*) FROM `bookings` WHERE `room_id` = 2
但我想实现的是,有这样一个列表:

Room1 = 84 bookings
Room2 = 70 bookings
Room3 = 54 bookings
etc.

有人能给我指出正确的方向吗?

我认为你应该使用GROUPBY子句

SELECT COUNT(*) as bCount, room_id 
FROM `bookings`
GROUP BY room_id
ORDER BY bCount
LIMIT 10
SELECT Count(*) as Count , room_id
FROM bookings
GROUP BY room_id
ORDER BY Count

我认为你应该使用GROUPBY子句

SELECT Count(*) as Count , room_id
FROM bookings
GROUP BY room_id
ORDER BY Count

我认为你应该使用GROUPBY子句

SELECT Count(*) as Count , room_id
FROM bookings
GROUP BY room_id
ORDER BY Count

我认为你应该使用GROUPBY子句

SELECT Count(*) as Count , room_id
FROM bookings
GROUP BY room_id
ORDER BY Count
试试这个查询

   select count(*) as booking_count , room_id as room from `bookings`
   group by room order by booking_count 
试试这个查询

   select count(*) as booking_count , room_id as room from `bookings`
   group by room order by booking_count 
试试这个查询

   select count(*) as booking_count , room_id as room from `bookings`
   group by room order by booking_count 
试试这个查询

   select count(*) as booking_count , room_id as room from `bookings`
   group by room order by booking_count 

令人惊叹的。谢谢这不仅仅是一个指针。然而,现在预订的房间中,预订最少的在顶部,预订最多的在底部。我该如何扭转这种局面?@Adnaves你对排序数组那么不熟悉吗?太棒了。谢谢这不仅仅是一个指针。然而,现在预订的房间中,预订最少的在顶部,预订最多的在底部。我该如何扭转这种局面?@Adnaves你对排序数组那么不熟悉吗?太棒了。谢谢这不仅仅是一个指针。然而,现在预订的房间中,预订最少的在顶部,预订最多的在底部。我该如何扭转这种局面?@Adnaves你对排序数组那么不熟悉吗?太棒了。谢谢这不仅仅是一个指针。然而,现在预订的房间中,预订最少的在顶部,预订最多的在底部。我该如何扭转这种局面?@Adnaves你对排序数组不熟悉吗?