подсчет элементов различных столбцов в laravel 6.0 - PullRequest
0 голосов
/ 08 января 2020

Я хочу сделать один подсчет из двух столбцов, которые есть в моей базе данных, если существует запись в одном из двух столбцов, я бы хотел взять ее в счет ... В двух столбцах у меня есть несколько элементов которые повторяются, и я хотел бы взять их в том же количестве.

Я пытался с этим, но это не работает

$individuales = DB::table('incidencias')
    ->where('inc_padre', '!=', '')
    ->orWhere('nro_ticket' '!=', '')
    ->count(DB::raw('DISTINCT(inc_padre), DISTINCT(nro_ticket)'));

Вы можете мне помочь?

1 Ответ

1 голос
/ 08 января 2020

Используйте concat, чтобы объединить два столбца, и добавьте разделитель, например : (выберите нужный уникальный разделитель),

и group by этот столбец:

$individuales = DB::table('incidencias')
                  ->where(function($q) {
                      $q->where('inc_padre', '!=', '')->whereNotNull('inc_padre');
                  })
                  ->orWhere(function($q) { 
                      $q->where('nro_ticket', '!=', '')->whereNotNull('nro_ticket');
                  })
                  ->groupBy(DB::raw("CONCAT(IFNULL(inc_padre,''), ':', IFNULL(nro_ticket,''))"))                
                  ->selectRaw("COUNT(CONCAT(IFNULL(inc_padre,''), ':', IFNULL(nro_ticket,''))) AS count, CONCAT(IFNULL(inc_padre,''), ':', IFNULL(nro_ticket,'')) AS two_columns")
                  ->count();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...