2016-03-01 5 views
1

У меня есть таблица, как этот enter image description hereMySQL SELECT, WHERE Множественные значения

Создание Google диаграммы, так что мне нужно несколько запросов БД для создания JSON. Все сделано, но с трудным временем с запросом БД.

  1. Решил этот вопрос.
  2. Необходимо выбрать все оплачиваемые и все неиспользованные часы, их сумма сгруппирована по дате. Таким образом, чтобы получить за каждый день сумму оплачиваемых и не оплачиваемых часов.

В настоящее время у меня есть один запрос,

$json = array(); 
$sql = "SELECT SUM(TIME_TO_SEC(`hours`)) as seconds,date FROM `am_am2_time_tracking` WHERE is_billable = 1 GROUP BY date"; 
$result = $conn->query($sql); 
while($row = $result->fetch_assoc()) 
{ 
    $bil_hours = floatval($row['seconds']/60/60); 
    $json[] = array('date'=>$row['date'],'bill_hours'=>$bil_hours); 
} 
echo json_encode($json); 

, который дает мне это JSON:

[{"date":"2016-02-03","bill_hours":12.5},{"date":"2016-02-04","bill_hours":6},{"date":"2016-02-12","bill_hours":3},{"date":"2016-02-13","bill_hours":4},{"date":"2016-02-18","bill_hours":1.25},{"date":"2016-02-19","bill_hours":1},{"date":"2016-02-26","bill_hours":1.75},{"date":"2016-02-27","bill_hours":0.5}] 

Но вместо того, чтобы создать новый запрос, ищет лучший способ иметь как часы в одном формате JSON ,

+0

1. Удалось решить первый с $ SQL = «SELECT is_billable, часы, SUM (TIME_TO_SEC (' hours')) как 'Count' ОТ 'am_am2_time_tracking' GROUP BY' is_billable' "; но не уверен о номере 2. –

ответ

0

Пробовали ли вы сделать следующий запрос

$sql = "SELECT SUM(TIME_TO_SEC(`hours`)) as seconds,date FROM `am_am2_time_tracking` GROUP BY date, is_billable"; 
+0

нет удача, такой же результат. –

Смежные вопросы