我想按第一列进行计数分组,但忽略group by中的其他列。让我解释一下: 我有一个包含这些列的表 ? 因此,我想要获得一个新列,其中包含按仪器汇总的工作订单,如下所示: ? 因为如果我做这样的计数: SELECT INSTRUMENT,WORKORDER,DATE,COUNT(*) FROM TABLE1 GROUP BY INS
我创建了一个表,并试图学习如何按查询使用组,但它提供了奇怪的输出。为此,我尝试了以下查询select * from student group by branch;
产出如下: +------+-----------+--------+---------+--------+--------+------+
事实上,我期待着每一件事都能把所有的学生按分支组织起来
这是汤姆·凯特的书的摘录。
“我们使用的是一个SELECT COUNT(*) FROM T查询(或类似的内容),表T上有一个B*Tree索引。然而,优化器正在对表进行全面扫描,而不是计算(小得多的)索引条目。在这种情况下,索引可能位于一组可以包含Null的列上。因为一个完全的Null索引条目永远不会被生成,所以索引中的行数将不是表中行的计数。这里优化器正在做正确的事情--如果它使