Я работаю над таблицей заказов, в которой есть поля order_id и order_completion_date. Order_completion_date показывает, когда был выполнен определенный заказ. Если заказ не завершен, он будет отображать значение, например, 4447-12-30 00:00:00.
Моя цель - получить количество записей, выполненных за час, за последние 24 часа. Я изучил другие подобные вопросы, но не смог найти способ представить метку времени в следующем формате:
{
"date_time":"07/05/2018 00:00:00",
"completed_orders":"1000"
},
{
"date_time":"07/05/2018 01:00:00",
"completed_orders":"2000"
},
{
"date_time":"07/05/2018 02:00:00",
"completed_orders":"3000"
},
{
"date_time":"07/05/2018 03:00:00",
"completed_orders":"4000"
},
{
"date_time":"07/05/2018 04:00:00",
"completed_orders":"5000"
}
Я сейчас пытаюсь выполнить следующий запрос:
sqlContext.sql("SELECT COUNT(csg_order_id) AS completed_orders, hour(from_unixtime(cast(ord_completion_date as bigint))) as hour "
+ "FROM TotalTasks "
+ "WHERE ord_completion_date <= cast('"+curDate+"' as Timestamp) AND ord_completion_date >= date_add(cast('"+curDate+ "' as Timestamp), -1) "
+ "GROUP BY hour "
+ "ORDER BY hour");
но это дает мне такие результаты:
+----------------+----+
|completed_orders|hour|
+----------------+----+
| 143| 0|
| 336| 1|
| 570| 2|
| 649| 3|
| 297| 4|
| 219| 5|
| 68| 7|
| 52| 8|
| 56| 9|
| 7360| 10|
| 78| 12|
| 59| 19|
| 238| 21|
| 332| 22|
+----------------+----+
есть ли способ получить время вместо количества часов? Любая помощь приветствуется.