isnull(T2.ytd_sales,-1)) 的意思是:检查T2.ytd_sales是否为 NULL,若伟NULL则返回-1。distinct 是返回不同的记录导出表select count(distinct isnull(T2.ytd_sales,-1)) from Titles T2 where isnull(T1.ytdsales,-1)<=isnull(T2.ytd_sales,-1) 的意思就是:统计符合WHERE条件的记录数,但T2.ytd_sales的值为NULL的所有记录作为一条。
请参照以下实例:下面的示例为 titles 表中的所有书选择书名、类型及价格。如果一个书名的价格是 NULL,那么在结果集中显示的价格为 0.00。USE pubs GO SELECT SUBSTRING(title, 1, 15) AS Title, type AS Type, ISNULL(price, 0.00) AS Price FROM titles GO下面是结果集:Title Type Price --------------- ------------ -------------------------- The Busy Execut business 19.99 Cooking with Co business 11.95 You Can Combat business 2.99 Straight Talk A business 19.99 Silicon Valley mod_cook 19.99 The Gourmet Mic mod_cook 2.99 The Psychology UNDECIDED 0.00 But Is It User popular_comp 22.95 Secrets of Sili popular_comp 20.00 Net Etiquette popular_comp 0.00 Computer Phobic psychology 21.59 Is Anger the En psychology 10.95 Life Without Fe psychology 7.00 Prolonged Data psychology 19.99 Emotional Secur psychology 7.99 Onions, Leeks, trad_cook 20.95 Fifty Years in trad_cook 11.95 Sushi, Anyone? trad_cook 14.99 (18 row(s) affected)首先你应该分析ISNULL函数的意义. 然后一层一层的分析。
的意思是:检查T2.ytd_sales是否为 NULL,若伟NULL则返回-1。distinct 是返回不同的记录导出表select count(distinct isnull(T2.ytd_sales,-1))
from Titles T2
where isnull(T1.ytdsales,-1)<=isnull(T2.ytd_sales,-1)
的意思就是:统计符合WHERE条件的记录数,但T2.ytd_sales的值为NULL的所有记录作为一条。
GO
SELECT SUBSTRING(title, 1, 15) AS Title, type AS Type,
ISNULL(price, 0.00) AS Price
FROM titles
GO下面是结果集:Title Type Price
--------------- ------------ --------------------------
The Busy Execut business 19.99
Cooking with Co business 11.95
You Can Combat business 2.99
Straight Talk A business 19.99
Silicon Valley mod_cook 19.99
The Gourmet Mic mod_cook 2.99
The Psychology UNDECIDED 0.00
But Is It User popular_comp 22.95
Secrets of Sili popular_comp 20.00
Net Etiquette popular_comp 0.00
Computer Phobic psychology 21.59
Is Anger the En psychology 10.95
Life Without Fe psychology 7.00
Prolonged Data psychology 19.99
Emotional Secur psychology 7.99
Onions, Leeks, trad_cook 20.95
Fifty Years in trad_cook 11.95
Sushi, Anyone? trad_cook 14.99 (18 row(s) affected)首先你应该分析ISNULL函数的意义.
然后一层一层的分析。