Mysql 如何始终在Laravel中首先获取特殊类别项目数据
假设我有一个名为Mysql 如何始终在Laravel中首先获取特殊类别项目数据,mysql,sql,laravel,laravel-5,Mysql,Sql,Laravel,Laravel 5,假设我有一个名为machine的表,它有3列(id,name,company) 该表中有5个数据 01, A, XX 02, B, XX 03, C, XY 04, D, XX 05, E, YY 这里A、B、C、D、E是机器名,XX、XY、YY是公司名 现在,我想根据公司的情况获取数据,而特定公司的数据总是排在第一位。为此,我将groupBy与company一起使用 SQL select('*') from('machine') groupBy('company') get() 结果 01
machine
的表,它有3列(id
,name
,company
)
该表中有5个数据
01, A, XX
02, B, XX
03, C, XY
04, D, XX
05, E, YY
这里A、B、C、D、E
是机器名
,XX、XY、YY
是公司名
现在,我想根据公司的情况获取数据,而特定公司的数据总是排在第一位。为此,我将groupBy
与company
一起使用
SQL
select('*')
from('machine')
groupBy('company')
get()
结果
01, A, XX
03, C, XY
05, E, YY
但我想检索数据,其中公司的数据总是排在第一位,如下格式所示
01, A, XX
02, B, XX
04, D, XX
03, C, XY
05, E, YY
怎么做?有人能帮忙吗?提前感谢。您可以使用以下布尔条件,根据公司名称是否为
XX
进行订购:
如果要按顺序对多个公司进行排序,请使用CASE
表达式:
->orderbyRaw("CASE company WHEN 'XX' THEN 1
WHEN 'XY' THEN 2
ELSE 3
END")
您可以使用以下中的布尔条件,根据公司名称是否为XX进行订购: 如果要按顺序对多个公司进行排序,请使用
CASE
表达式:
->orderbyRaw("CASE company WHEN 'XX' THEN 1
WHEN 'XY' THEN 2
ELSE 3
END")
@尼克……完全正确。但是如果我想先得到数据,然后再得到数据,最后得到数据,那我该怎么办?@Nick…绝对正确。但是如果我想先使用数据,然后再使用数据,然后再使用数据,那么我应该怎么做呢?