SELECT取决于以前的列

时间:2018-02-22 16:42:49

标签: sql sql-server

我想做点什么,伪代码会是什么样的

for each uniqeValue in column1
   for each uniqeValue in column2
       SELECT uniqueValueColumn1, uniqueValueColumn2, numberOfRepetitions

是否有机制让我这样做?

编辑:

根据要求,我提供更具体的输入和想要的输出。

Name |BirthDate
-----------------
Chris|1999-01-01
Chris|1999-01-01
Chris|1999-12-12
Tom  |1999-12-12

输出:

Name |BirthDate |Repetitions
----------------------------
Chris|1999-01-01|          2
Chris|1999-12-12|          1
Tom  |1999-12-12|          1

我想过GROUP BY,但没有成功应用它 我现在的尝试是......像

SELECT DISTINCT Name,
    (SELECT DISTINCT BirthDate),
    (SELECT COUNT SELECT DISTINCT Name,
        (SELECT DISTINCT BirthDate))
    FROM Table

当然它不起作用,因为它没有权利。我的目的是了解如何正确实现此COUNT或如何替换它。

2 个答案:

答案 0 :(得分:3)

听起来您正在寻找查询COUNT [Name][Birthdate]相同的记录数。这应该是为了这个目的:

SELECT [Name], [BirthDate], COUNT(*) AS Repetitions
FROM Table
GROUP BY [Name], [BirthDate]

答案 1 :(得分:2)

我想你想要这个:

select name, birthdate, count(*)
from person
group by name, birthdate

检查并测试:http://sqlfiddle.com/#!9/96898/1