计算嵌套选择语句中的表行数

Posted

技术标签:

【中文标题】计算嵌套选择语句中的表行数【英文标题】:Count Table Rows in a nested select statement 【发布时间】:2016-12-01 14:12:53 【问题描述】:

我想创建一个显示数据库统计信息的视图,如下所示:

NumberOfProduct | NumberOfUsers | NumberOfOnlineUsers

45453 54665 5654645

数据来源

NumberOfProduct - 是产品表的总行数

NumberOfUsers - users 表中的行数

NumberOfOnlineUsers - 列中名为“number”的行值位于名为 SiteOverView 的表中,其中 stat_name = 'NumberOfOnlineUsers'

SiteOverView 表:

     stat_name              |   number

  NumberOfOnlineUsers           5654645    

  NumberOfOfflineUsers          54665 

  NumberOfVisitors              45453                  

我想要类似的东西

Create View [dbo].[dashboard_stat] 
AS
    SELECT 
         (select count(*) from products) as NumberOfProduct,
         (select count(*) from users) as NumberOfUsers,
         (select number from SiteOverView WHERE stat_name='NumberOfOnlineUsers') as NumberOfOnlineUsers 
FROM (NumberOfOnlineUsers) dashboard_stat

但我正在努力用写语法编写语句。

【问题讨论】:

您是否尝试过在主选择中删除 FROM 子句?你得到什么错误? 【参考方案1】:

如果您为要返回的每一列单独指定单个值,则 SQL Sever 中的select 语句不需要from 子句。因此,如果没有 from,您的查询应该可以正常工作:

create view [dbo].[dashboard_stat] 
as
    select (select count(1) from products) as NumberOfProduct
          ,(select count(1) from users) as NumberOfUsers
          ,(select number
            from SiteOverView
            where stat_name = 'NumberOfOnlineUsers'
            ) as NumberOfOnlineUsers
go

【讨论】:

以上是关于计算嵌套选择语句中的表行数的主要内容,如果未能解决你的问题,请参考以下文章

phpmyadmin:MySQL 的表行数不正确

Jquery比较用复选框选择的表行并比较列

使用 Postgres 排除约束限制匹配特定条件的表行数?

选择没有特定类的表行

jQuery选择器删除满足两个条件的表行

jQuery:计算表中的行数