相关疑难解决方法(0)

top 1如何在sql server 2012中运行

我有一张包含以下数据的表格

  IF OBJECT_ID('TEMPDB.DBO.#t1', 'U') IS NOT NULL
            DROP TABLE #t1;
CREATE TABLE #t1
    ([c1] varchar(100), [c2] varchar(10), [c3] varchar(100), [c4] varchar(100))
;

INSERT INTO #t1
    ([c1], [c2], [c3], [c4])
VALUES
    (93, '60-1.1.1.', 60, 3),
    (104, '60-1.2.1.', 60, 3),
    (102, '60-1.1.2.', 60, 3),
    (101, '60-1.2.2.', 60, 3),
    (92, '60-1.1.3.', 60, 3),
    (96, '60-1.2.3.', 60, 3),
    (103, '60-1.1.4.', 60, 3),
    (94, '60-1.2.4.', 60, 3),
    (105, '60-1.2.5.', 60, 3),
    (97, '60-1.2.6.', 60, 3),
    (99, '60-1.2.7.', 60, 3),
    (100, '60-1.2.8.', 60, 3),
    (98, '60-1.2.9.', …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2012

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

省略 Order by 子句的 mysql Innodb 查询的“默认 order by”是什么?

所以我理解并发现帖子表明,当您从 DBMS 检索数据时,不建议在 SQL 查询中省略 order by 子句。

参考的资源和帖子(将更新):

SQL Server UNION - 默认 ORDER BY 行为是什么

如果未指定“排序依据”,查询会为记录集选择什么顺序?

https://dba.stackexchange.com/questions/6051/what-is-the-default-order-of-records-for-a-select-statement-in-mysql

问题 :

如果您想了解更多信息,请参阅下面问题的逻辑。

我的问题是:在带有innoDB引擎的mysql下,有谁知道DBMS如何有效地给我们结果?

我读到它是依赖于实现的,好的,但是有没有办法知道我当前的实现?

这具体是在哪里定义的?

是来自MySQL、InnoDB、操作系统相关吗?

那里没有某种清单吗?

最重要的是,如果我省略 order by 子句并获得结果,我无法确定该代码是否仍适用于较新的数据库版本,并且 DBMS 永远不会给我相同的结果,可以吗?

用例和逻辑:

我目前正在编写一个 CRUD API,并且我的数据库中有一个不包含“id”字段的表(尽管有一个 PK),所以当我在没有任何研究标准的情况下显示该表的结果时,我真的不知道应该用什么来排序结果。我的意思是,我可以使用 PK 或任何从不为空的字段,但这不会使其相关。所以我想知道,因为我的 CRUD 应该适用于任何表,并且我不想通过为这个特定表添加例外来解决这个问题,所以我也可以简单地省略 order by 子句。

最后注意事项:

当我阅读其他帖子、示例和代码示例时,我感觉我想走得太远。据我了解,众所周知,在请求中省略 Order By 子句只是一种不好的做法,并且没有可靠的默认订单子句,并不是说除非您指定,否则根本没有订单。

我只是想知道它是在哪里定义的,并且很想了解它在内部是如何工作的,或者至少是在哪里定义的(DBMS /存储引擎/操作系统相关/其他/多个标准)。我认为了解它并了解这里的内部机制也对其他人有益。

不管怎样,感谢您花时间阅读!祝你今天过得愉快。

mysql innodb sql-order-by

0
推荐指数
1
解决办法
4189
查看次数

确定没有索引时添加的最新行

我想要检索最近添加的客户.我没有任何列存储添加行的日期/时间,而我的主键是Cust_ID,它不是IDENTITY列,也不一定按升序输入.

这是我的表,Customer并且想象已按此顺序添加了三行:

Cust_ID       Cust_Name      Cust_Age
-------------------------------------
2             C              23
6             A              25
3             B              22
Run Code Online (Sandbox Code Playgroud)

在上面的例子中我想得到最后一条记录(B).SQL Server中是否有任何预定义函数将返回表的最后一行(不依赖于升序)?

sql sql-server-2008

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