我有一个包含以下字段的MySQL表:
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(255) NOT NULL UNIQUE,
ReleaseDate DATETIME(6) NOT NULL DEFAULT "1970-01-01"
此表的默认排序是由Id进行的,因为它是主键。当我删除Id列并将Name作为主键时,表是按字母顺序排列的,这就是我想要的。
以Id作为主键,而Name是一个UNIQUE索引,表继续按增加Id的顺序排列。我知道在显示表时可以使用ORDER BY Name,但是是否有一种方法可以将表本
关于SELECT查询的执行顺序,参考,在JOIN之前提到了一个ON。
FROM
ON
JOIN
WHERE
GROUP BY
WITH CUBE or WITH ROLLUP
HAVING
SELECT
DISTINCT
ORDER BY
TOP
我倾向于认为这个ON是作为JOIN的一部分的ON子句。
如果它是假的,这是什么ON?
如果是这样的话,那就有点让人困惑了,因为我认为在执行JOIN时,Server在使用ON进行过滤之前先做一个ON。这可能不是严格正确的,因为server有一些机制来优化这个过程,比如选择一个较小的表作为内部表来循环外层表,就像我正确地记住了ON条件一样。那么,
我在OBIEE中做了一个简单的分析,包括3个dim和1个事实表。所有的dim表都连接到这个事实数据表。但是,在results选项卡中,我看到以下错误: Internal Error: could not find level detailed enough for GROUP BY clause: 我在rpd中再次检查,所有维度表都连接到事实表,更有趣的是,在另一个主题中使用相同表的分析是工作。我想查看它的日志,但由于分析是在错误中生成的,所以我只能看到表示层查询,而不是物理查询。 有没有办法弄到它?如果我们能看到什么是实际的物理查询,这将有助于更快地找到问题的原因。 以下是日志的内容