![]() |
1
10
你可以这样做。
但是,如果您想要一个完全不同的记录计数,那么您将不得不使用您提到的其他选项之一。 如果你想做你在问题中建议的事情,那就意味着你的表中有重复的记录。
如果你没有重复的记录
|
![]() |
2
8
不,不可能。 如果您受到框架/查询工具/任何东西的限制,不能使用子查询,也不能拼出group by中的每个列名,那么您就是sol。 如果您不受框架/查询工具/任何东西的限制,就没有理由 不 使用子查询。 |
![]() |
3
3
如果您真的想这样做,您只需“从表1中选择count(*)按all、columns、here分组”,并将结果集的大小作为您的计数。 但这将是一个很有价值的代码;) |
![]() |
4
1
我只是想通过说您需要检查列的数据类型是否具有可比性来改进答案,否则您将在尝试使它们不同时出错: 例如 com.microsoft.sqlserver.jdbc.sqlserverexception:无法将ntext数据类型选择为distinct,因为它不可比较。 这对于大型二进制、XML列和其他依赖于RDBMS-RTM的列是正确的。例如,sqlserver的解决方案是从ntext到nvarchar(max),从sqlserver 2005开始。 如果您坚持使用pk列,那么您应该是正常的(我自己还没有验证过这个问题,但我从逻辑上认为pk列必须是可比较的) |
![]() |
sqlrobert · SQL-如何查找不包含特定字段值的一组记录 1 年前 |
![]() |
Nick Fleetwood · 调度语法的LINQ查询 2 年前 |
![]() |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
![]() |
Java · 使用交叉应用同时显示两列 2 年前 |