GROUP BY 应该使用哪个:文本字段还是数字字段?
Which should be used to GROUP BY: text fields or numeric fields?
所以,我目前正在参加数据库概念课程(是的,我是菜鸟),教授提出了问题:"In a GROUP BY
clause, for example GROUP BY xxxx
, should the xxxx
on which we’re grouping be a text field or a numeric field?"
我对这个问题很困惑,因为可以 GROUP BY
文本或数字字段。我都试过了,没有收到任何错误。我意识到 GROUP BY
文本字段通常更有意义,因为例如,您想知道有多少产品的 price
大于 50.00
。相反的情况可能是不必要的。我在这里缺少 "best practice" 规则吗?
提前致谢。
正确答案是 。 . . "xxxx should be whatever is needed to resolve the problem at hand."
您应该查看笔记或与教授交谈以了解该陈述的上下文。正如您清楚地了解的那样,SQL 查询可以按数字、字符或 date/time 列以及各种其他数据类型进行聚合。从 功能性 的角度来看,所有这些都受支持。
使用数字可能会有一点性能优势。这是一个工件,在固定宽度字段上排序通常比在可变长度字段上排序更快(略微)。但是,我真的怀疑你的教授指的是这个。
所以,我目前正在参加数据库概念课程(是的,我是菜鸟),教授提出了问题:"In a GROUP BY
clause, for example GROUP BY xxxx
, should the xxxx
on which we’re grouping be a text field or a numeric field?"
我对这个问题很困惑,因为可以 GROUP BY
文本或数字字段。我都试过了,没有收到任何错误。我意识到 GROUP BY
文本字段通常更有意义,因为例如,您想知道有多少产品的 price
大于 50.00
。相反的情况可能是不必要的。我在这里缺少 "best practice" 规则吗?
提前致谢。
正确答案是 。 . . "xxxx should be whatever is needed to resolve the problem at hand."
您应该查看笔记或与教授交谈以了解该陈述的上下文。正如您清楚地了解的那样,SQL 查询可以按数字、字符或 date/time 列以及各种其他数据类型进行聚合。从 功能性 的角度来看,所有这些都受支持。
使用数字可能会有一点性能优势。这是一个工件,在固定宽度字段上排序通常比在可变长度字段上排序更快(略微)。但是,我真的怀疑你的教授指的是这个。