laravel 同数据表字段比较查询和状态不正规排序

今天写群组推荐接口,要求未满的群 ( 群最大人数字段maxusers, 群人数字段affiliations_count 都在群组表中),官方,热门(普通群0 ,官方1,热门2 ) 排序的群

同表字段比较查询:

->whereRaw(‘affiliations_count  < maxusers‘)

按规定的状态排序(本例中要按1,2,0排序)

->orderByRaw("FIELD(group_level, " . implode(", ", [1, 2, 0]) . ")")

原文地址:https://www.cnblogs.com/sgm4231/p/9699488.html

时间: 2024-11-05 13:39:57

laravel 同数据表字段比较查询和状态不正规排序的相关文章

数据表字段属性查询

---查询数据库所有表名 select id,name from sysobjects where xtype='u' order by name ---查询表的所有字段属性 select   *  from   syscolumns   where   id=object_id(N'FMS_PayApply') ---查询表字段名,类型,长度,默认值,是否允许为空 select column_name,data_type,CHARACTER_MAXIMUM_LENGTH, COLUMN_DEF

在不清楚数据表字段数据分布的情况下,应该创建什么类型的索引?

在讨论之前,先看看关系型数据库常见的索引类型: 1.位图索引,适用于该字段重复数据很多的情况: 2.B+树索引,适用于该字段重复数据不多的情况. 在不清楚数据表字段数据分布的情况下,应该创建什么类型的索引?个人觉得以上两种都不太适用,可以尝试使用第3类的索引: 3.倒排索引,在搜索引擎使用较多,适用于大多数的情况. 使用普通的文本文件格式存储倒排索引,格式为: value:rowid(行标识码),字段值对应value,rowid对应该行的标识码. 要注意的是,在创建倒排索引时,倒排索引的key需

tp数据表字段缓存

在维护一个tp写的项目,因为需要在产品表product中增加了一个字段status,但是不论如何就是无法给status赋值,查了资料才发现,原来是tp的数据表字段缓存在搞鬼. 在runtime>Data>_fields文件中找到对应的文件,文件名与表名同,这里是Product.php,增加status.再次尝试,立马就可以了. 在网上看到一篇讲这个问题的文章如下, 今天在应用thinkphp框架开发的程序做些二次开发修改, 其中有改动到数据结构,新增了几个字段. 调用 M(‘xxx’)->

MySQL数据表字段内容的批量修改、复制命令

复制字段里的数据命令: SQL代码 UPDATE table SET 被替换的字段名=被复制的字段名 演示如下 SQL代码 UPDATE dede_archives SET senddate=pubdate 如何手动将同一数据表内不同字段之间的内容批量转换,可以参考下面的命令: SQL代码 UPDATE table set 字段名=REPLACE(字段名,'原字符串','替换的字符串') where 已知的字段名 LIKE '%原字符串%' 应用到本文实例 SQL代码 UPDATE pw_mem

tp5.0 SHOW COLUMNS FROM 生成数据表字段缓存

TP5.0 生成数据表字段缓存 =控制台执行以下命令= 1.生成指定数据库的所有表字段缓存 php think optimize:schema --db databaseName 2.生成指定数据表的缓存 php think optimize:schema --table tableName 3.应用使用了不同的数据库连接,可以根据模块来生成,如下: php think optimize:schema --module index 生成之后关闭调试模式:就不会执行 SHOW COLUMNS FR

Mysql数据表字段的增,改,删

用 alter 命令来进行字段的增,改,删 1.使用 ALTER 命令及 DROP 子句来删除以上创建表的 i 字段:(如果数据表中只剩余一个字段则无法使用DROP来删除字段.) mysql> alter table runoob drop name; //删除runoob表中的name字段 2.使用 ALTER 命令 ADD 子句来向数据表中添加列,如下实例在表 testalter_tbl 中添加 i 字段,并定义数据类型: mysql> alter table runoob add id

Hibernate实体类与数据表字段默认值之间的优先关系

在日常的应用开发过程中,我们一般都会使用对象关系映射来通过面向对象的编程模型来解决数据库的操作,我们生产过程当中使用较多的当属Hibernate框架了,他非常灵活,为我们提供了多种方式来实现数据层的操作与管理.通过实体类与数据表的映射,实体类对应表,属性对应字段就可以将我们想要生产的对象赋值到数据库,但是我们有时也需要查询对象,但是无论什么操作,都必须通过实体类来传递数据. 有时我们数据库有一些字段是数据库自动赋值,禁止用户通过程序修改的,如记录生成时间,那么如果你实体类按照正常情况下,你为了查

SQL Server 联表字段合并查询

经常遇到统计报表中,子表记录合并为一个字段的情况.例如:省表中各省经济水平前五的城市统计. 有如下两表:dbo.省 和 dbo.市 (好吧,你可能会吐槽为什么用中文表名,其实我是为了方便查找替换) 这里暂时不考虑经济水平前五这种外部条件,期望将所有城市使用中文逗号拼接起来,如图: 具体做法如下: --基于子表查询 SELECT P.Name AS '省', STUFF((SELECT ','+Name FROM dbo.市 WHERE Parent=C.Parent FOR XML PATH('

phome_enewsclass 数据表字段解释(栏目主表)

字段名 类型 解释 附加说明 classid smallint(6) 栏目ID   bclassid smallint(6) 父栏目ID   classname varchar(50) 栏目名称   sonclass text 终极栏目ID集合 父栏目下所有终极栏目ID集合,多个栏目ID用“|”隔开,例如:|1|5|8| is_zt tinyint(1)   预定义字段,暂时用不到,默认值0 lencord smallint(6) 每页显示信息数   link_num tinyint(4) 相关