标签: sql-order-by

如何首先返回具有特定值的行?

我希望我的查询返回表的行,其中列首先包含一个特定的值,然后返回按字母顺序排列的其余行.

如果我有一个像这个例子的表:

 - Table: Users
 - id - name -  city
 - 1    George  Seattle
 - 2    Sam     Miami
 - 3    John    New York
 - 4    Amy     New York
 - 5    Eric    Chicago
 - 6    Nick    New York
Run Code Online (Sandbox Code Playgroud)

并且使用该表我希望我的查询首先返回包含New York的行,然后返回按城市按字母顺序排列的其余行.这可能只使用一个查询吗?

sql sql-order-by

120
推荐指数
3
解决办法
8万
查看次数

在mysql中使用union和order by子句

我想在mysql查询中使用union with order.我根据不同的标准从基于距离的表中获取不同类型的记录,以便在我的网站上进行搜索.第一个选择查询返回与确切位置搜索相关的数据.第二个选择查询返回与距离搜索位置5公里内的距离相关的数据.第三个选择查询返回与距搜索地点5-15公里范围内的距离相关的数据.

然后我使用union来合并所有结果并在页面上显示分页.在"精确搜索结果","5公里范围内的结果"等适当标题下

现在我想基于id或add_date对结果进行排序.但是当我在查询结束时添加order by子句时(query1 union query 2 union query 3 order by add_date).它排序所有结果.但我想要的是它应该在每个标题下排序.

mysql sql union sql-order-by

118
推荐指数
6
解决办法
16万
查看次数

如何正确使用Oracle ORDER BY和ROWNUM?

我很难将存储过程从SQL Server转换为Oracle,以使我们的产品与之兼容.

我有查询根据时间戳返回一些表的最新记录:

SQL Server:

SELECT TOP 1 *
FROM RACEWAY_INPUT_LABO
ORDER BY t_stamp DESC
Run Code Online (Sandbox Code Playgroud)

=>这将使我回到最近的记录

甲骨文:

SELECT *
FROM raceway_input_labo 
WHERE  rownum <= 1
ORDER BY t_stamp DESC
Run Code Online (Sandbox Code Playgroud)

=>那将返回最旧的记录(可能取决于索引),无论ORDER BY声明如何!

我以这种方式封装了Oracle查询以满足我的要求:

SELECT * 
FROM 
    (SELECT *
     FROM raceway_input_labo 
     ORDER BY t_stamp DESC)
WHERE  rownum <= 1
Run Code Online (Sandbox Code Playgroud)

它的工作原理.但这听起来像是一个可怕的黑客,特别是如果我在相关的表格中有很多记录.

实现这一目标的最佳方法是什么?

sql oracle sql-order-by rownum

110
推荐指数
3
解决办法
26万
查看次数

使用Doctrine按多列排序

我需要按两列排序数据(当行具有不同的列号1的值时,按顺序排序;否则,按列号2排序)

我正在使用a QueryBuilder来创建查询.

如果我orderBy第二次调用该方法,它将替换之前指定的任何排序.

我可以传递两列作为第一个参数:

->orderBy('r.firstColumn, r.secondColumn', 'DESC');
Run Code Online (Sandbox Code Playgroud)

但我无法为第二个参数传递两个排序方向,因此当我执行此查询时,第一列按升序排序,第二列按降序排序.我想对他们两个使用降序.

有没有办法使用QueryBuilder?我需要使用DQL吗?

php doctrine sql-order-by

104
推荐指数
4
解决办法
9万
查看次数

MySQL - IN()中的ORDER BY值

我希望按照它们输入IN()函数的顺序对以下查询中返回的项进行排序.

INPUT:

SELECT id, name FROM mytable WHERE name IN ('B', 'A', 'D', 'E', 'C');
Run Code Online (Sandbox Code Playgroud)

OUTPUT:

|   id   |   name  |
^--------^---------^
|   5    |   B     |
|   6    |   B     |
|   1    |   D     |
|   15   |   E     |
|   17   |   E     |
|   9    |   C     |
|   18   |   C     |
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

mysql sql-order-by where-clause

101
推荐指数
2
解决办法
7万
查看次数

C#Sort和OrderBy比较

我可以使用Sort或OrderBy对列表进行排序.哪一个更快?两者都在使用相同的算法吗?

List<Person> persons = new List<Person>();
persons.Add(new Person("P005", "Janson"));
persons.Add(new Person("P002", "Aravind"));
persons.Add(new Person("P007", "Kazhal"));
Run Code Online (Sandbox Code Playgroud)

1.

persons.Sort((p1,p2)=>string.Compare(p1.Name,p2.Name,true));
Run Code Online (Sandbox Code Playgroud)

2.

var query = persons.OrderBy(n => n.Name, new NameComparer());

class NameComparer : IComparer<string>
{
    public int Compare(string x,string y)
    {
      return  string.Compare(x, y, true);
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# sorting performance sql-order-by

98
推荐指数
5
解决办法
10万
查看次数

如何在同一个SELECT语句中使用DISTINCT和ORDER BY?

执行以下语句后:

SELECT  Category  FROM MonitoringJob ORDER BY CreationDate DESC
Run Code Online (Sandbox Code Playgroud)

我从数据库中获取以下值:

test3
test3
bildung
test4
test3
test2
test1
Run Code Online (Sandbox Code Playgroud)

但我希望删除重复项,如下所示:

bildung
test4
test3
test2
test1
Run Code Online (Sandbox Code Playgroud)

我尝试使用DISTINCT,但它在一个语句中不能与ORDER BY一起使用.请帮忙.

重要:

  1. 我尝试过:

    SELECT DISTINCT Category FROM MonitoringJob ORDER BY CreationDate DESC
    
    Run Code Online (Sandbox Code Playgroud)

    它不起作用.

  2. CreationDate的订单非常重要.

sql distinct sql-order-by

97
推荐指数
4
解决办法
26万
查看次数

MySQL"Group By"和"Order By"

我希望能够从电子邮件表中选择一堆行,并通过发件人对它们进行分组.我的查询如下所示:

SELECT 
    `timestamp`, `fromEmail`, `subject`
FROM `incomingEmails` 
GROUP BY LOWER(`fromEmail`) 
ORDER BY `timestamp` DESC
Run Code Online (Sandbox Code Playgroud)

查询几乎按我的意愿运行 - 它选择通过电子邮件分组的记录.问题是主题和时间戳不对应于特定电子邮件地址的最新记录.

例如,它可能会返回:

fromEmail: john@example.com, subject: hello
fromEmail: mark@example.com, subject: welcome
Run Code Online (Sandbox Code Playgroud)

当数据库中的记录是:

fromEmail: john@example.com, subject: hello
fromEmail: john@example.com, subject: programming question
fromEmail: mark@example.com, subject: welcome
Run Code Online (Sandbox Code Playgroud)

如果"编程问题"主题是最新的,那么在分组电子邮件时如何让MySQL选择该记录呢?

mysql sql group-by sql-order-by aggregate-functions

92
推荐指数
5
解决办法
19万
查看次数

按许多字段订购清单(C#)?

我想在许多字段中订购C#中的对象列表,而不仅仅是一个.例如,假设我有一个名为X的类,它有两个属性A和B,我按顺序有以下对象:

object1 => A ="a",B ="h"
object2 => A ="a",B ="c"
object3 => A ="b",B ="x"
object4 => A ="b" ,B ="b"

我想首先按A属性排序列表,当它们等于时,按B元素排序,所以顺序为:

"a""c"
"a""h"
"b""b"
"b""x"

据我所知,OrderBy方法按一个参数排序.

问题:如何通过多个字段订购C#列表?

非常感谢你

c# lambda list sql-order-by

91
推荐指数
3
解决办法
10万
查看次数

mysql查询顺序由多个项目组成

可以按多行排序吗?

我希望我的用户按last_activity排序,但同时,我希望带有图片的用户出现在没有用户之前

像这样的东西:

SELECT some_cols
FROM `prefix_users`
WHERE (some conditions)
ORDER BY last_activity, pic_set DESC;
Run Code Online (Sandbox Code Playgroud)

mysql sql-order-by

91
推荐指数
3
解决办法
14万
查看次数