使用负值启动SQL计数查询
如果计数中的值超过30,我如何让计数查询返回值使用负值启动SQL计数查询,sql,sql-server-2008,Sql,Sql Server 2008,如果计数中的值超过30,我如何让计数查询返回值 SELECT COUNT (DISTINCT a.orders) FROM dbo.orders_table a WHERE a.unshipped 如果返回29,则计数将为NULL,但30或更大的计数将返回整数。如果要在列中使用NULL,则应使用CASE: SELECT (CASE WHEN COUNT(DISTINCT a.orders) >= 30 THEN COUNT(DISTINCT a.orders) END) FROM dbo
SELECT
COUNT (DISTINCT a.orders)
FROM dbo.orders_table a
WHERE a.unshipped
如果返回29,则计数将为NULL,但30或更大的计数将返回整数。如果要在列中使用
NULL
,则应使用CASE
:
SELECT (CASE WHEN COUNT(DISTINCT a.orders) >= 30 THEN COUNT(DISTINCT a.orders) END)
FROM dbo.orders_table a
WHERE a.unshipped ??;
中的条件是什么
如果不需要行,请使用HAVING
:
SELECT COUNT(DISTINCT a.orders)
FROM dbo.orders_table a
WHERE a.unshipped
HAVING COUNT(DISTINCT a.orders) >= 30 ;
如果要在列中使用NULL
,可以使用CASE
:
SELECT (CASE WHEN COUNT(DISTINCT a.orders) >= 30 THEN COUNT(DISTINCT a.orders) END)
FROM dbo.orders_table a
WHERE a.unshipped ??;
中的条件是什么
如果不需要行,请使用HAVING
:
SELECT COUNT(DISTINCT a.orders)
FROM dbo.orders_table a
WHERE a.unshipped
HAVING COUNT(DISTINCT a.orders) >= 30 ;
不,第一个正是我需要的。我不知道怎么做。不过我肯定会把第二份归档。再次谢谢你。不,第一个正是我需要的。我不知道怎么做。不过我肯定会把第二份归档。再次感谢你。