选择Distinct而不排序

use*_*155 4 sql ms-access distinct

我使用了Select Distinct查询,这导致了一个排序数据.反正我有没有得到数据排序?

che*_*525 10

我会尝试详细说明发生了什么以及为什么......虽然我同意@ vic对这个问题的评论......

  • 如果没有明确说明订单(通过order by子句),则绝对不能保证结果集中的任何订单.
  • 实际上,许多查询将根据查询计划以及数据的实际存储和访问方式返回一致的顺序......不要依赖于此!
  • 具体来说,对于distinct查询,sql引擎将对数据进行排序,以便确保删除任何重复项.

简而言之,如果结果集的顺序很重要(即使所需的顺序是"随机的"),您必须始终明确说明它.也就是说,从纯粹基于集合的数学/ sql的角度来看,结果的顺序无关紧要.