У меня есть таблица «Задачи», который выглядит следующим образом: Сравните даты той же колонке MySql Laravel
Мне нужно вычислить дату начала смещения для каждой записи; Мне нужно рассчитать, сколько дней после минимальной/младшей даты начала даты начала каждой записи.
Я делаю это в Laravel 4. Таблица mySQL. Я бы предпочел запрос Laravel, но я, вероятно, также могу включить raw mySQL.
Мой запрос (он выбирает некоторые другие вещи, тоже) не работает
$tasks = DB::table('tasks')->select(array(DB::raw("TIMESTAMPDIFF(DAY, MIN(start), start) AS offset"), DB::raw("TIMESTAMPDIFF(DAY, start, end) AS length"), 'user_id', 'name', 'desc','start','end','finished'))->where('temp_id', $id)->orderBy('start')->get();
«MIN (начало)» для себя сравнить, как представляется, проблема. Как рассчитать, сколько дней после даты начала минимальной даты начала каждой записи?
Я могу быть полностью вне базы здесь, но не 'MIN()' агрегатная функция, чтобы найти наименьшее значение в группе записей? Если это так, я не думаю, что это имело бы смысл при использовании в поле DATETIME в одной строке. –
Я не могу говорить ни о чем, Ларавеле, но это обычное @TimLewis. См. Этот ответ [здесь] (http://stackoverflow.com/a/32030445/1816093), который я написал, например, но используя 'max' not' min' – Drew
@Drew Lovervel-builder - это оболочка для базового SQL синтаксис, и глядя на ваш ответ, дает некоторое представление. Я напишу здесь быстрый ответ. –