标签: sql-order-by

MySQL索引和订单

这是我永远的问题.

据我所知,指数的顺序很重要.所以索引就像[first_name, last_name] 是不一样了[last_name, first_name]吧?

如果我只定义第一个索引,它是否意味着它只用于

SELECT * FROM table WHERE first_name="john" AND  last_name="doe"; 
Run Code Online (Sandbox Code Playgroud)

而不是

SELECT * FROM table WHERE  last_name="doe" AND first_name="john";
Run Code Online (Sandbox Code Playgroud)

由于我使用的是ORM,因此我不知道这些列的调用顺序.这是否意味着我必须在所有排列上添加索引?如果我有一个2列索引,这是可行的,但如果我的索引在3或4列上会发生什么?

mysql indexing sql-order-by

30
推荐指数
2
解决办法
1万
查看次数

如何在mySQL中订购1,2,3而不是1,10,11,12

以下代码按id,1,10,11,12的顺序输出.

我想把它变成1,2,3,4 ......

谁能告诉我应该做什么呢.

$Q = $this->db->query('SELECT P.*, C.Name AS CatName FROM products AS P LEFT JOIN categories C ON C.id = P.category_id');
Run Code Online (Sandbox Code Playgroud)

提前致谢.

mysql sql-order-by

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

Linq-to-sql orderbybyby

我使用以下查询语法

from table
where 
where
orderby 
orderby
Run Code Online (Sandbox Code Playgroud)

第一个orderby是日期,第二个orderby是日期.我认为这会像orderby那样工作,但似乎正在做其他事情.

  1. 如何在不使用扩展语法的情况下使用上述语法来执行命令.(得到它了)

  2. 什么命令,orderby做什么?

sql-order-by linq-to-sql

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

SQL(ORACLE):ORDER BY和LIMIT

我想通过属性排序我的数据库中的所有数据,并且只有在使用LIMIT和OFFSET之后.

查询如下:

SELECT select_list
    FROM table_expression
    [ ORDER BY ... ]
    [ LIMIT { number | ALL } ] [ OFFSET number ] 
Run Code Online (Sandbox Code Playgroud)

我知道排序一旦找到排序结果的第一个row_count行就结束了.我可以在调用LIMIT和OFFSET之前对所有数据进行排序吗?

sql oracle sql-order-by limit offset

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

MySQL按数组值排序

我需要运行一个MySQL查询,其中的顺序由数组值决定.

我的数组是可变的,但数组中的值对应于我的数据库表中一个名为"ID"的字段,所以我希望在ID顺序9,1,4中返回结果.

Array ( [0] => 9 [1] => 1 [2] => 4 )
Run Code Online (Sandbox Code Playgroud)

这在MySQL中是否可行,或者可以在之后使用数组对MySQL $结果进行排序?您可以假设返回的唯一值是数组中的值.

mysql arrays sorting sql-order-by

30
推荐指数
1
解决办法
2万
查看次数

MySQL ORDER BY多列ASC和DESC

我有2个MYSQL表,用户分数.详情:

  • 用户表:

在此输入图像描述

  • 分数表:

在此输入图像描述

我的目的是获得20个用户列表,其中有点字段排序DESC(降序)组合avg_time字段排序ASC(升序).我使用查询:

SELECT users.username, scores.point, scores.avg_time
FROM scores, users
WHERE scores.user_id = users.id
GROUP BY users.username
ORDER BY scores.point DESC, scores.avg_time
LIMIT 0, 20
Run Code Online (Sandbox Code Playgroud)

结果是:

在此输入图像描述

结果是错误的,因为第一行恰好是point = 100和avg_time = 60.

我想要的结果是:

username    point    avg_time
demo123      100        60
demo123456   100       100
demo         90        120
Run Code Online (Sandbox Code Playgroud)

我尝试了多次不同的查询,但结果仍然是错误的.你能给我一些解决方案吗?

提前致谢!

mysql sql-order-by multiple-columns

30
推荐指数
1
解决办法
12万
查看次数

如何用Django获取两个随机记录

如何使用Django获得两个不同的随机记录?我已经看到了关于如何获得一个的问题,但我需要获得两个随机记录,它们必须不同.

python random django sql-order-by django-models

29
推荐指数
4
解决办法
1万
查看次数

用于排序的varchar到数字转换

我有一个查询订购column:

select * from mytable order by column asc — sort table
Run Code Online (Sandbox Code Playgroud)

column type是varchar,所以输出是:

1
10
100
11
12
13
Run Code Online (Sandbox Code Playgroud)

如果我希望它们按数值排序,我应该如何排序,因此输出为:

1
10
11
12
13
100
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-order-by

28
推荐指数
4
解决办法
3万
查看次数

在sql server中的自定义顺序对于Eg:P,A,L,H.不是Asc或Desc

没有ASCDESC....按订单生产...

我尝试过case但没有成功

SELECT * FROM Customers
ORDER BY case country
when 'P' then 1 …
Run Code Online (Sandbox Code Playgroud)

这就是我想要的:http://i.stack.imgur.com/BvoCT.png

sql sql-server sql-order-by

28
推荐指数
1
解决办法
4万
查看次数

PostgreSQL - 从LIMIT OFFSET重复行

我注意到分页记录集中有一些重复的行.

当我运行此查询时:

SELECT "students".* 
FROM "students" 
ORDER BY "students"."status" asc 
LIMIT 3 OFFSET 0
Run Code Online (Sandbox Code Playgroud)

我明白了:

    | id | name  | status |
    | 1  | foo   | active |
    | 12 | alice | active |
    | 4  | bob   | active |
Run Code Online (Sandbox Code Playgroud)

下一个查询:

SELECT "students".* 
FROM "students" 
ORDER BY "students"."status" asc 
LIMIT 3 OFFSET 3
Run Code Online (Sandbox Code Playgroud)

我明白了:

    | id | name  | status |
    | 1  | foo   | active |
    | 6  | cindy | active |
    | 2 …
Run Code Online (Sandbox Code Playgroud)

sql postgresql sql-order-by limit offset

27
推荐指数
2
解决办法
1万
查看次数