Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何orderBy列,如果它存在(否则使用另一列)雄辩?

如何orderBy列,如果它存在(否则使用另一列)雄辩?
EN

Stack Overflow用户
提问于 2016-02-11 15:35:52
回答 2查看 2.1K关注 0票数 2

articles表有两个时间戳列:created_atpublished_at

只有当用户希望稍后发布文章时才使用published_at (如果published_at不是null且时间尚未到来,则文章是隐藏的)。

我想按时间戳对文章进行排序(显示最近的)。要排序的时间戳是published_at,如果它不是null,则使用created_at

有什么能言善辩的方法吗?我想把它和其他约束一起使用,我更愿意把这个顺序作为范围。

我正在尝试这样的方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public function scopeRecent($query)
{
    $query->orderBy('ifnull(published_at, created_at)');
}

但MySQL的回复是Unknown column 'IFNULL(published_at, created_at)'

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-11 16:03:23

您必须这样做,因为ifnull不是由Illuminate\Database\Query\Builder处理的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public function scopeRecent($query)
{
    $query->orderByRaw('ifnull(published_at, created_at)');
}
票数 2
EN

Stack Overflow用户

发布于 2017-10-05 11:49:42

如果有人在使用Postgres,就像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public function scopeRecent($query){
    $query->orderByRaw('COALESCE(published_at, created_at)');
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35352204

复制
相关文章
用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
数据库中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
全栈程序员站长
2022/07/09
1.7K0
SQL如何将一个列中值内的逗号分割成另一列
例如某个列是这样的: 7890 – 20th Ave E Apt 2A, Seattle, VA 9012 W Capital Way, Tacoma, CA 5678 Old Redmond Rd, Fletcher, OK 3456 Coventry House Miner Rd, Richmond, TX
繁华是客
2023/03/03
1.8K0
怎么直接把一列的部分数据换成另一列里的数据?
小勤:这个我知道啊。但是,能不能不增加列,直接转换吗?比如用函数Table.TranformColumns?
大海Power
2021/08/30
2K0
Hive 如何修改分区列?
Hive 分区就是将数据按照数据表的某列或者某几列分为多个区域进行存储,这里的区域是指 hdfs 上的文件夹。按照某几列进行分区,就是说按照某列分区后的数据,继续按照不同的分区列进行分区。创建分区后,指定分区值即可直接查询该分区的数据,能够有效提高查询性能。
披头
2022/12/19
2.6K0
PBI-基础入门:添加列与新建列(计算列)
大海:在Power BI里增加列有2种方法,一种是咱们在学Power Query里的“添加列”方法,还有一种是在PowerPivot里的新建“计算列”方法。具体操作方法如下:
大海Power
2021/08/30
7.6K0
Pandas | 如何新增数据列?
在数据分析时,原始数据往往不能满足我们的需求,经常需要按照一定条件创建新的数据列或者修改原有数据列,然后进行后续分析。
生信real
2022/12/20
2.1K0
问与答112:如何查找一列中的内容是否在另一列中并将找到的字符添加颜色?
Q:我在列D的单元格中存放着一些数据,每个单元格中的多个数据使用换行分开,列E是对列D中数据的相应描述,我需要在列E的单元格中查找是否存在列D中的数据,并将找到的数据标上颜色,如下图1所示。
fanjy
2021/04/21
7.2K0
问与答112:如何查找一列中的内容是否在另一列中并将找到的字符添加颜色?
怎样能自动按列01 列02 最大为列99,来设置列标题?
前几天在Python最强王者交流群有个粉丝咨询了这个问题:获取到数据表的列数比较简单,一般不超过99列,怎样能自动按列01 列02 最大为列99,来设置列标题?一劳永逸,以后这类场景都这样套用。
前端皮皮
2022/12/19
1.1K0
怎样能自动按列01 列02  最大为列99,来设置列标题?
使用Python实现df的奇数列与偶数列调换位置,比如A列,B列,调换成B列,A列
前几天在Python铂金交流群【瑜亮老师】给大家出了一道Pandas数据处理题目,使用Python实现df的奇数列与偶数列调换位置,比如A列,B列,调换成B列,A列。
Python进阶者
2022/06/05
1.2K0
使用Python实现df的奇数列与偶数列调换位置,比如A列,B列,调换成B列,A列
PQ基础-数据转换4:删列、移列、添加索引列
本文通过一个例子,综合体现常用的删列、移列、添加索引列操作方法。数据样式及要求如下:
大海Power
2021/08/31
1.7K0
如何使用python连接MySQL表的列值?
MySQL 是一个开源关系数据库管理系统,广泛用于存储、管理和组织数据。使用 MySQL 表时,通常需要将多个列值组合成一个字符串以进行报告和分析。Python是一种高级编程语言,提供了多个库,可以连接到MySQL数据库和执行SQL查询。
很酷的站长
2023/08/11
2450
如何使用python连接MySQL表的列值?
散列算法与散列码
一、引入 1 /** 2 * Description:新建一个类作为map的key 3 */ 4 public class Groundhog 5 { 6 protected int number; 7 8 public Groundhog(){ 9 } 10 public Groundhog(int number) 11 { 12 this.number = number; 13 } 14 15 @Overr
JMCui
2018/03/15
1.5K0
散列算法与散列码
散列/散列函数「建议收藏」
每个关键字被映射到从0-TableSize-1这个范围中的某个数,并且被放到适当的单元中。这种映射就叫做散列函数
全栈程序员站长
2022/08/28
8920
散列/散列函数「建议收藏」
如何生成A-AZ列 excel表的列 不用序号的那种?
前几天在Python最强王者交流群【逸】问了一个Pyhton处理Excel的问题,这里拿出来给大家分享下。
前端皮皮
2022/12/19
1.7K0
如何生成A-AZ列 excel表的列 不用序号的那种?
PowerBI DAX 如何使用变量表里的列
这里是希望表达计算销售额,但会遭遇一个语法错误,这里不能使用 vTable[LineSellout] 。
BI佐罗
2021/09/17
4.3K0
散列
选择键值,冲突的时候采取不同的策略 散列函数: 简单的散列函数: 1 int hash(const string & key,int tableSize) 2 { 3 int hashVal = 0; 4 for(int i = 0; i < key.length();++i) 5 { 6 hashVal + = key[i]; 7 } 8 return hashVal % tableSize; 9 } 比较好的散列函数: 1 int hash( c
用户1154259
2018/01/17
8140
大战SQL列类型及其列属性
最近,在看一本《原则》的书籍,是写的一位美国人投资史。其中谈到和他的创业伙伴关系出现裂缝时,我们会怎样做?
小Bob来啦
2020/12/08
1.3K0
大战SQL列类型及其列属性
2.布局解决方案 两列、三列、多列、不定宽+一列自适应<6>
和上面的解决方案是一样的,自己动脑筋哦 下面的overflow的方式 display:table和flex大家自己练习。
河湾欢儿
2018/09/06
1.7K0
散列
将一个元素的关键码和存储位置之间建立对应的函数关系 Hash( ), 使得每个关键码与结构中的唯一的存储位置相对应:
Rikka
2022/02/07
1.8K0
点击加载更多

相似问题

MySQL选择列(如果存在),否则选择另一列

10

如果列存在,则更新,否则添加列

10

选择列如果存在,否则为空PSQL。

14

如果存在值,则按列排序,否则为第二列。

42

如何使用$appends在雄辩的laravel中添加orderBy列

118
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文