sql – SELECT COUNT(DISTINCT …)错误多列?

前端之家收集整理的这篇文章主要介绍了sql – SELECT COUNT(DISTINCT …)错误多列?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个表,VehicleModelYear,包含列id,year,make和model.

以下两个查询按预期工作:

SELECT DISTINCT make,model
FROM VehicleModelYear

SELECT COUNT(DISTINCT make)
FROM VehicleModelYear

但是,此查询不起作用

SELECT COUNT(DISTINCT make,model)
FROM VehicleModelYear

很明显的答案是第一个查询返回的结果的数量,但只是想知道这个语法有什么问题或为什么它不起作用.

解决方法

sql Server中的COUNT()接受以下语法
COUNT(*)
COUNT(colName)
COUNT(DISTINCT colName)

您可以有一个子查询返回您可以计数的唯一的一组make和model.

SELECT  COUNT(*)
FROM
        (
            SELECT  DISTINCT make,model
            FROM    VehicleModelYear
        ) a

最后的“a”不是打字错误.这是一个别名,sql不会发生错误ERROR 1248(42000):每个派生表都必须有自己的别名.

猜你在找的MsSQL相关文章