sql - 由 GROUP BY 查询产生的 SELECT 组数

标签 sql sql-server tsql sql-server-2014

我尝试了以下查询来选择由 GROUP BY 查询产生的组数:

SELECT count(*)
FROM (
        SELECT count(*)
        FROM MyTable
        WHERE Col2 = 'x'
        GROUP BY Col1
     )

不幸的是,此查询无效:Incorrect syntax near ')'. .

注意:我只想得到一行(我已经找到了一个结果为 n 倍的解决方案,其中 n = 组数)。

最佳答案

SELECT COUNT(*)
FROM (
    SELECT value = COUNT(*)
    FROM MyTable
    WHERE Col2 = 'x'
    GROUP BY Col1
) е

但我认为 - 你需要尝试这个查询 -
SELECT COUNT(DISTINCT Col1)
FROM MyTable
WHERE Col2 = 'x'

关于sql - 由 GROUP BY 查询产生的 SELECT 组数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33934069/

相关文章:

c# - 默认情况下 dbo 架构中的 EF 6 Code First __MigrationHistory

sql-server - 如何使用 Inno Setup 连接到 MS SQL Server?

sql - SQL Server 中的 Oracle 样式日期

mysql - Sql 仅获取域名

sql - 如果另一列为空,禁止用户更新列?

sql - 如何避免此查询中出现相同的输出时间?

c# - Azure 移动服务登录数据库和 "master"用户时出现错误

sql-server - 一个 SELECT 如何阻止另一个?

sql - 将sql server数据库中的所有数据显示到一个表中

python - SQLAlchemy 查询和_/或_问题