如何在Laravel查询生成器中按首字母计数? [英] How count by the first letters in Laravel Query Builder?

查看:233
本文介绍了如何在Laravel查询生成器中按首字母计数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想按头几个字母计数.​​..我有此列

I want to make a count by the first letters... I have this column

我想计算每个OE行和每个GICS行

I would like to count each OE rows and each GICS rows

我正在处理此查询

$data4 = DB::table('incidencias')
   ->select(DB::raw('grupo_asig as grupo_asig'), DB::raw('count(*) as number'))
   ->whereNotIn('grupo_asig', [''])
   ->groupBy('grupo_asig')
   ->orderBy('number', 'desc')
   ->get();

推荐答案

使用CASE WHEN并计算OEASIG

$data4 = DB::table('incidencias')
           ->select(DB::raw("(CASE WHEN grupo_asig LIKE 'OE%' THEN 'OE'
                                   WHEN grupo_asig LIKE 'GICS%' THEN 'GICS'
                              END) AS grupo_asig_type"), 
                    DB::raw('COUNT(*) as number'))
           ->whereNotIn('grupo_asig', [''])
           ->groupBy('grupo_asig_type')
           ->orderBy('number', 'desc')
           ->get();

这篇关于如何在Laravel查询生成器中按首字母计数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆