例如,使用此问题的答案:
如何选择提交10个以上提交内容的 所有用户"如何选择提交10个以上提交内容的所有用户".
select userId
from submission
group by userId
having count(submissionGuid) > 10
Run Code Online (Sandbox Code Playgroud)
现在让我说我想知道这个sql语句输出的很多行.计算行计数行的解决方案的可扩展性如何?
use*_*861 12
在以前发布的示例中有轻微错误,需要子查询的表名别名:
select count(*) from
(select userId
from submission
group by userId
having count(submissionGuid) > 10) t
Run Code Online (Sandbox Code Playgroud)
我不确定可伸缩性,但这是解决方案.如果这对您来说缩放不够好,则需要考虑主要的设计更改,例如跟踪那些在单独的表中提交超过10个提交的人,并通过填充提交的应用程序进行更新.或许多其他可能的解决方案
嵌套查询:
select count(*) from
(select userId
from submission
group by userId
having count(submissionGuid) > 10) n
Run Code Online (Sandbox Code Playgroud)
编辑以结合mbrierst关于需要别名(末尾为"n")的注释,用于嵌套子查询.Oracle不要求这样做,但SQL Server确实如此.随意添加有关其他数据库平台使用情况的评论.
| 归档时间: |
|
| 查看次数: |
21175 次 |
| 最近记录: |