首页 > 解决方案 > 如何最小化sql查询

问题描述

booking在 MySQL 数据库中有一个表,我需要在其中获取 3 个数据。

1) 总预订
2) 待定预订 (where is_confirm = 1)
3) 完成预订 (where is_confirm = 0)

现在,我正在编写 3 个单独的查询来获取它,但是如何使用 1 个查询来获取它?

当前查询:

$booking = new Admin;
$booking->rowQuery("SELECT count(bid) AS totalBooking FROM booking");
$bookingData = $booking->result->fetch_assoc();
$totalBooking = $bookingData['totalBooking'];

$booking->rowQuery("SELECT bid FROM booking WHERE is_confirm = 1 ");
$completeBooking = $booking->rows;

$booking->rowQuery("SELECT bid FROM booking WHERE is_confirm = 0 ");
$pendingBooking = $booking->rows;

标签: mysql

解决方案


SELECT count(bid) AS totalBooking FROM booking
UNION
SELECT bid FROM booking
WHERE is_confirm=1
UNION
SELECT bid FROM booking
WHERE is_confirm=0

推荐阅读