标签: sql-order-by

LINQ中的多个"order by"

我有两个表,movies并且categories,我首先按类别ID获取有序列表,然后按名称获取.

影片表有三列,ID,Name和CategoryID.类别表2包含列,ID和名称.

我尝试了类似下面的内容,但它没有用.

var movies = _db.Movies.OrderBy( m => { m.CategoryID, m.Name })
Run Code Online (Sandbox Code Playgroud)

linq sql-order-by

1537
推荐指数
7
解决办法
58万
查看次数

SQL多列排序

我试图在SQL中以不同的方向排序多个列.column1将按降序排序,并按column2升序排序.

我怎样才能做到这一点?

sql sql-order-by

590
推荐指数
8
解决办法
80万
查看次数

LINQ Orderby降序查询

我相信这将是一个相对简单的.

我有一个LINQ查询,我想按最近创​​建的日期排序.

看到:

        var itemList = from t in ctn.Items
                        where !t.Items && t.DeliverySelection
                        orderby t.Delivery.SubmissionDate descending
                        select t;
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

       var itemList = (from t in ctn.Items
                        where !t.Items && t.DeliverySelection
                        select t).OrderByDescending();
Run Code Online (Sandbox Code Playgroud)

但这会给出一个错误:

方法'OrderByDescending'的重载不带0参数

从我所读到的,我很确定我做的第一种方式应该有效.我已经尝试将降序改为升序只是为了看它是否做了什么,但它保持不变.

如果有人能够查看查询并查看我是否做错了什么,我将不胜感激.谢谢 :)

c# linq sql-order-by

420
推荐指数
4
解决办法
87万
查看次数

SQL排序升序时如何使空值最后

我有一个带有日期时间字段的SQL表.有问题的字段可以为null.我有一个查询,我希望结果按日期时间字段按升序排序,但是我想要在列表末尾的日期时间字段为空的行,而不是在开头.

有没有一种简单的方法来实现这一目标?

sql sorting sql-order-by

280
推荐指数
10
解决办法
23万
查看次数

MySQL由一个数字命令,Nulls持续

目前我在声明中做了一个非常基本的OrderBy.

SELECT * FROM tablename WHERE visible=1 ORDER BY position ASC, id DESC
Run Code Online (Sandbox Code Playgroud)

这个问题是'position'的NULL条目被视为0.因此,位置为NULL的所有条目都出现在1,2,3,4之前.例如:

NULL, NULL, NULL, 1, 2, 3, 4
Run Code Online (Sandbox Code Playgroud)

有没有办法实现以下排序:

1, 2, 3, 4, NULL, NULL, NULL.
Run Code Online (Sandbox Code Playgroud)

mysql sql-order-by

258
推荐指数
5
解决办法
11万
查看次数

MYSQL - ORDER BY&LIMIT

我有一个看起来像这样的查询:

SELECT article FROM table1 ORDER BY publish_date LIMIT 20

ORDER BY如何工作?它会订购所有记录,然后获得前20个记录,还是会得到20个记录并按publish_date现场订购?

如果它是最后一个,你不能保证真正得到最近的20篇文章.

mysql sql sql-order-by sql-limit

232
推荐指数
6
解决办法
49万
查看次数

MySQL之前按顺序排序

这里有很多类似的问题,但我认为没有充分回答这个问题.

我会从当前最流行的问题继续,并使用他们的例子,如果这没关系.

此实例中的任务是获取数据库中每个作者的最新帖子.

示例查询产生不可用的结果,因为它并不总是返回的最新帖子.

SELECT wp_posts.* FROM wp_posts
    WHERE wp_posts.post_status='publish'
    AND wp_posts.post_type='post'
    GROUP BY wp_posts.post_author           
    ORDER BY wp_posts.post_date DESC
Run Code Online (Sandbox Code Playgroud)

目前接受的答案是

SELECT
    wp_posts.*
FROM wp_posts
WHERE
    wp_posts.post_status='publish'
    AND wp_posts.post_type='post'
GROUP BY wp_posts.post_author
HAVING wp_posts.post_date = MAX(wp_posts.post_date) <- ONLY THE LAST POST FOR EACH AUTHOR
ORDER BY wp_posts.post_date DESC
Run Code Online (Sandbox Code Playgroud)

不幸的是,这个答案简单明了,并且在很多情况下产生的结果不如原始查询那么稳定.

我最好的解决方案是使用表单的子查询

SELECT wp_posts.* FROM 
(
    SELECT * 
    FROM wp_posts
    ORDER BY wp_posts.post_date DESC
) AS wp_posts
WHERE wp_posts.post_status='publish'
AND wp_posts.post_type='post'
GROUP BY wp_posts.post_author 
Run Code Online (Sandbox Code Playgroud)

我的问题是一个简单的问题: 无论如何在分组之前订购行而不诉诸子查询?

编辑:这个问题是另一个问题的延续,我的情况细节略有不同.您可以(并且应该)假设还有一个wp_posts.id,它是该特定帖子的唯一标识符.

mysql group-by sql-order-by

228
推荐指数
5
解决办法
31万
查看次数

按两列排序MySQL表

如何按两列对MySQL表进行排序?

我想要的是按最高评分排序的文章,然后是最近的日期.作为一个例子,这将是一个示例输出(左#是评级,然后是文章标题,然后是文章日期)

50 | This article rocks          | Feb 4, 2009
35 | This article is pretty good | Feb 1, 2009
5  | This Article isn't so hot   | Jan 25, 2009

我正在使用的相关SQL是:

ORDER BY article_rating, article_time DESC
Run Code Online (Sandbox Code Playgroud)

我可以按其中一种排序,但不能同时排序.

mysql sql-order-by

214
推荐指数
5
解决办法
30万
查看次数

Laravel Eloquent:订购所有()的结果

我陷入了一个简单的任务.我只需要订购来自此次通话的结果

$results = Project::all();
Run Code Online (Sandbox Code Playgroud)

Project模特在哪里 我试过这个

$results = Project::all()->orderBy("name");
Run Code Online (Sandbox Code Playgroud)

但它没有用.从表中获取所有数据并获取它们的更好方法是哪种?

sql-order-by laravel eloquent laravel-4

191
推荐指数
9
解决办法
17万
查看次数

PostgreSQL DISTINCT ON与不同的ORDER BY

我想运行此查询:

SELECT DISTINCT ON (address_id) purchases.address_id, purchases.*
FROM purchases
WHERE purchases.product_id = 1
ORDER BY purchases.purchased_at DESC
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

PG ::错误:错误:SELECT DISTINCT ON表达式必须与初始ORDER BY表达式匹配

添加address_id为第一个ORDER BY表达式会使错误无效,但我真的不想添加排序address_id.是否可以不通过订购address_id

sql postgresql sql-order-by distinct-on

186
推荐指数
5
解决办法
16万
查看次数