145 lines
2.4 KiB
PHP
145 lines
2.4 KiB
PHP
<?php
|
|
include "../../connect.php";
|
|
|
|
$sql = "SELECT
|
|
(
|
|
SELECT
|
|
TIME_FORMAT(
|
|
AVG(
|
|
TIMESTAMPDIFF(
|
|
SECOND,
|
|
rideTimeStart,
|
|
rideTimeFinish
|
|
)
|
|
),
|
|
'%Hh %im'
|
|
) AS avg_duration
|
|
FROM
|
|
ride
|
|
) AS driver_avg_duration,(
|
|
SELECT
|
|
COUNT(*) AS total_rows
|
|
FROM
|
|
(
|
|
SELECT
|
|
COUNT(driver_id)
|
|
FROM
|
|
ride
|
|
GROUP BY
|
|
driver_id
|
|
) sub
|
|
) AS num_Driver,
|
|
(
|
|
SELECT
|
|
COUNT(*)
|
|
FROM
|
|
ride
|
|
) AS total_rides,
|
|
(
|
|
SELECT
|
|
COUNT(*)
|
|
FROM
|
|
ride
|
|
WHERE
|
|
STATUS
|
|
= 'waiting'
|
|
) AS ongoing_rides,
|
|
(
|
|
SELECT
|
|
COUNT(*)
|
|
FROM
|
|
ride
|
|
WHERE
|
|
STATUS
|
|
= 'Finished'
|
|
) AS completed_rides,
|
|
(
|
|
SELECT
|
|
COUNT(*)
|
|
FROM
|
|
ride
|
|
WHERE
|
|
STATUS
|
|
= 'cancelled'
|
|
) AS cancelled_rides,
|
|
(
|
|
SELECT
|
|
MAX(
|
|
TIME_FORMAT(
|
|
TIMESTAMPDIFF(
|
|
SECOND,
|
|
rideTimeStart,
|
|
rideTimeFinish
|
|
),
|
|
'%Hh %im'
|
|
)
|
|
) AS duration
|
|
FROM
|
|
ride
|
|
) AS longest_duration,
|
|
(
|
|
SELECT
|
|
ROUND(SUM(DISTANCE),
|
|
2)
|
|
FROM
|
|
ride
|
|
) AS total_distance,
|
|
(
|
|
SELECT
|
|
ROUND(AVG(DISTANCE),
|
|
2)
|
|
FROM
|
|
ride
|
|
) AS average_distance,
|
|
(
|
|
SELECT
|
|
ROUND(MAX(DISTANCE),
|
|
2)
|
|
FROM
|
|
ride
|
|
) AS longest_distance,
|
|
(
|
|
SELECT
|
|
SUM(price_for_driver)
|
|
FROM
|
|
ride
|
|
) AS total_driver_earnings,
|
|
(
|
|
SELECT
|
|
SUM(`price_for_passenger`)
|
|
FROM
|
|
ride
|
|
) AS total_company_earnings,
|
|
(
|
|
ROUND(
|
|
(
|
|
SELECT
|
|
SUM(`price_for_passenger`)
|
|
FROM
|
|
ride
|
|
) /(
|
|
SELECT
|
|
SUM(price_for_driver)
|
|
FROM
|
|
ride
|
|
),
|
|
2
|
|
)
|
|
) AS companyPercent
|
|
FROM
|
|
ride
|
|
LIMIT 1";
|
|
|
|
$stmt = $con->prepare($sql);
|
|
$stmt->execute();
|
|
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
|
|
if ($stmt->rowCount() > 0) {
|
|
// Print all the records
|
|
// printData($result);
|
|
printSuccess($data = $result);
|
|
} else {
|
|
// Print a failure message
|
|
printFailure($message = "No records found");
|
|
}
|
|
?>
|