使用SQL Server 2000
表1
Column1
20
30
40
20
40
30
30
我想要像这样计算
20 - 2
30 - 3
40 - 2
如果列值20或30或40不可用,则应显示20 - 0
或30 - 0
或40 - 0
。
例如
Column1
20
30
20
30
30
预期输出
20 - 2
30 - 3
40 - 0
我只会得到20分,30分.40。不会有更多的价值。
如何进行查询
需要帮助
答案 0 :(得分:5)
select item,count (item) from table group by item
编辑:(编辑后)
CREATE TABLE #table1 ( numbers int )
insert into #table1 (numbers) select 20
insert into #table1 (numbers) select 30
insert into #table1 (numbers) select 40
SELECT [num]
FROM [DavidCard].[dbo].[sssssss]
select numbers,count (num) from #table1 LEFT JOIN [sssssss] ON #table1.numbers = [sssssss].num group by numbers
答案 1 :(得分:4)
SQL查询101:
SELECT Column1, COUNT(*)
FROM dbo.YourTable
GROUP BY Column1
ORDER BY Column1
更新:如果您想获取可能值的列表及其在另一个表中的潜在计数(或0),您需要两个表,基本上 - 一个包含所有可能的值,一个使用实际值 - 和LEFT OUTER JOIN
将它们放在一起 - 类似于:
SELECT
p.Column1, ISNULL(COUNT(t.Column1), 0)
FROM
(SELECT 20 AS 'Column1'
UNION
SELECT 30
UNION
SELECT 40) AS p
LEFT OUTER JOIN
dbo.YourTable t ON t.Column1 = p.Column1
GROUP BY
p.Column1
ORDER BY
p.Column1