我需要选择按以下逻辑排序的记录,但是当DESC在条件中时,SQLite会引发错误。
ORDER BY
CASE
WHEN parentGUID IS NULL THEN datePosted DESC
ELSE datePosted
END
这是为了实现Facebook like排序=- original帖子(总是有空的parentGUID)按日期降序和回复按日期升序排序的原始帖子。
我有以下sql语句,它工作正常。
SELECT * FROM table WHERE name IS NULL ORDER BY date DESC LIMIT 20;
该查询基本上是在date desc上对表进行排序,并选择字段'name‘为空的最后20条记录。问题是检索到的查询是在日期描述时排序的。当然这是逻辑..。但我想要的是,‘输出’是按日期asc排序的。提前感谢您的回复。干杯。Marc
我刚接触laravel,正在努力弄清楚这一点,我正在尝试按日期对我的帖子进行排序,并使用分页器。每当我删除分页器时。它是按日期排序的,但我想是不是又按id排序了呢?
我的模型
class Post extends Model
{
//
protected $dates = ['date'];
}
我的控制器方法
public function show()
{
$posts = Post::orderBy('date','desc')->get();
return view('
对于下面的示例数据,它是ORDER BY Type,但是每个结果组都是ORDER BY MIN(Valu),没有任何聚合。
Type Valu
---- ----
B 12
B 88
B 200
B 200
A 56
A 100
A 100
C 70
C 70
所以B类型的所有记录都是首先列出的,因为该组有包含最低值(12)的记录。然后A类型记录,因为记录值为56,然后类型C记录,因为记录值为70。
有任何方法可以在SQL中进行这种类型的排序吗?
为了进一步解释,如果我
在我的留言簿中,我有两个表:messages和replies。现在,我希望获得所有按id分组的消息(意味着消息和相应的回复将按日期DESC分组/一起),并按日期DESC排序(如果消息是最古老的消息,但对应的回复是所有消息中的最新消息,则该组将位于表的顶部),而回复将按日期ASC (顶部最古老的回复)排序。这里,我的mysql查询工作良好,但它不按日期对回复进行排序,ASC
SELECT msg.id as id, msg.comment, msg.date_added as date_added, 0 as is_reply
FROM messages AS msg
UNION
SEL
我有以下三种关系:
用户:
public function posts () {
return $this->hasMany(Post::class)->orderBy('created_at', 'DESC');
}
public function ratings () {
return $this->hasMany(Rating::class)->orderBy('created_at', 'DESC');
}
员额:
public function user () {
ret
我以以下格式捕获日期:
Mon, February 14, 2011, 08:22:34 AM
当我使用ORDER by date_time DESC按最近的日期/时间对帖子进行排序时,它有时会正确排序,有时不会。所以有没有更好的方法来捕获数据,以便正确地完成排序?
例如,在一行中处理10个条目,它可能会正确排序,也就是说,它将首先显示最近的帖子。然后,它可能会将最近的一个放在最下面