相关疑难解决方法(0)

处理默认排序顺序的SQL最佳实践

我读过很多SQL代码,似乎开发人员假定默认排序顺序始终存在.例如,在构建HTML选择列表时,他们只会SELECT id, name FROM table发布一个ORDER BY子句.

根据我自己的经验,似乎dbms ORDER BY总是使用FIFO命令数据,如果没有给出子句而没有索引.但是,订单无法保证.但是,如果表没有变化,我从未见过dbms重新排序数据.

如果表没有变化,您是否曾经历过以非确定性顺序选择数据的dbms?

始终放置ORDER BY子句是最佳做法吗?

sql database sql-order-by

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

什么是"SELECT*FROM table_name;"的MySQL行顺序?

假设向MySQL数据库发出以下查询:

SELECT * FROM table_name;
Run Code Online (Sandbox Code Playgroud)

请注意,没有 ORDER BY给出任何条款.

我的问题是:

MySQL是否给出了结果集行的顺序保证?

更具体地说,我可以假设行将按插入顺序返回吗?这与行插入表中的顺序相同.

mysql select sql-order-by

17
推荐指数
3
解决办法
9961
查看次数

如果对非唯一属性进行排序,PostgreSQL订单是否完全有保证?

可能重复:
为什么SQL查询的结果不会按照我期望的顺序返回?

从阅读7.5排序行和我在PostgreSQL中看到的问题,我的印象如下,但该部分并不完全明确,所以如果有人可以验证我将不胜感激:

SELECT * FROM items;
Run Code Online (Sandbox Code Playgroud)

没有保证的订单.

SELECT * FROM items ORDER BY published_date ASC;
Run Code Online (Sandbox Code Playgroud)

保证两个项目具有不同的日期来,在给定的顺序,但并不能保证两个项目具有相同的日期总是以相同的顺序.

SELECT * FROM items ORDER BY published_date ASC, id ASC;
Run Code Online (Sandbox Code Playgroud)

始终以相同的顺序返回项目,因为它是完全确定的.

我有这个权利吗?

我不太清楚对一个属性(例如published_date)的排序是否保证具有相同值的记录的顺序,如第二个示例中所示.

sql postgresql sql-order-by

14
推荐指数
1
解决办法
3852
查看次数

sql获取信息,但顺序错误

嗨伙计们我在sql中有以下查询

SELECT 
a1 
FROM 
dbo.myProductNames 
WHERE
 keycode = 40  OR keycode = 28 OR keycode = 32 OR keycode = 50
Run Code Online (Sandbox Code Playgroud)

a1 =我需要表格中的信息的名称,以便按照我要求的顺序输出其查询的名称,所以我需要40先成为28然后再打开.

原因是我的代码读取结果并存储在一个数组中,然后用于在表单上显示.

SQL查询来自的表具有以num顺序存储的信息,因此将首先读取28等.

正如我所说,我需要按照我在where子句中输入的顺序获取信息.

我正在考虑与嵌套的Select语句有关,尽管我从未尝试嵌套选择.

或者,有一个简单的方法吗?

任何帮助都会很棒!

提前谢谢了!

!!!!! UPDATE !!!!!

好的,这是解决方案,谢谢你们!

SqlCommand pgNameFill = new SqlCommand("SELECT  a1, CASE keycode WHEN @pg1 THEN 1 WHEN @pg2 THEN 2 WHEN @pg3 THEN 3 WHEN @pg4 THEN 4 END AS SortOrder FROM  dbo.myProductNames WHERE keycode IN (@pg1, @pg2, @pg3, @pg4) ORDER BY SortOrder ASC", conny1);

        pgNameFill.Parameters.AddWithValue("@pg1", pg1);
        pgNameFill.Parameters.AddWithValue("@pg2", pg2);
        pgNameFill.Parameters.AddWithValue("@pg3", …
Run Code Online (Sandbox Code Playgroud)

sql

5
推荐指数
2
解决办法
256
查看次数

如何在sql中排序列值?

可能重复:
为什么SQL查询的结果不会按照我期望的顺序返回?

我有这样的表..我的表名是模式.

S.No      type      Id_Section
    1          A        IPS
    2          A        IPS
    3          A        IPS
    4          A        IPS
    1          B        IPS
    2          B        IPS
    3          B        IPS
    1          C        IPS
    2          C        IPS
    5          A        IPS
    4          B        IPS
Run Code Online (Sandbox Code Playgroud)

在这个表中,最后一行有无序.所以我需要在serialno和type ='A'中订购表..订购后,例如我应该显示如下

S.No      type      Id_Section
    1          A        IPS
    2          A        IPS
    3          A        IPS
    4          A        IPS
    5          A        IPS
    1          B        IPS
    2          B        IPS
    3          B        IPS
    4          B        IPS
    1          C        IPS
    2          C        IPS
Run Code Online (Sandbox Code Playgroud)

如何为此编写SQL查询?请有人帮助我

sql

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

标签 统计

sql ×4

sql-order-by ×3

database ×1

mysql ×1

postgresql ×1

select ×1