如果计数超过30,我如何获得COUNT查询才能返回值?
SELECT
COUNT (DISTINCT a.orders)
FROM dbo.orders_table a
WHERE a.unshipped
如果返回29,则计数为NULL,但30或更大将返回整数。
答案 0 :(得分:0)
如果您希望列中有NULL
,则可以使用CASE
:
SELECT (CASE WHEN COUNT(DISTINCT a.orders) >= 30 THEN COUNT(DISTINCT a.orders) END)
FROM dbo.orders_table a
WHERE a.unshipped ??;
WHERE
中的条件是什么?
如果您想要无行,请使用HAVING
:
SELECT COUNT(DISTINCT a.orders)
FROM dbo.orders_table a
WHERE a.unshipped
HAVING COUNT(DISTINCT a.orders) >= 30 ;