如何为sql中的每条记录检查单个列的多个值?
我的表格显示如下,
ID Date
----------
1 7/19/2016
----------
1 7/19/2016
----------
1 9/1/2016
----------
2 7/19/2016
----------
2 7/19/2016
----------
2 8/2/2016
我正在寻找像这样的输出,
ID Date
----------
1 7/19/2016
----------
1 9/1/2016
----------
2 7/19/2016
----------
2 8/2/2016
我正在寻找[Total Id Count] = 4的结果。 我是测试人员和sql的新手,请帮助我。
答案 0 :(得分:0)
使用Distinct
在表格中获取不同的值或值组。
SELECT DISTINCT Id, Date
FROM MyTable
要查看按日期和客户分组的最新订单,以下是一个完整的工作示例:
Declare @CustomerOrders table(CustomerId int, OrderDate DateTime, OrderId int)
Insert Into @CustomerOrders Values (1, '2016-01-01', 1)
Insert Into @CustomerOrders Values (1, '2016-01-01', 2)
Insert Into @CustomerOrders Values (2, '2016-01-01', 3)
Insert Into @CustomerOrders Values (1, '2016-01-02', 4)
Select * from @CustomerOrders
SELECT o.CustomerId, o.OrderDate, MaxOrder.MaxOrderId
FROM @CustomerOrders o inner join
(select o2.CustomerId, o2.OrderDate, max(OrderId) as MaxOrderId
From @CustomerOrders o2
Group By o2.CustomerId, o2.OrderDate) as MaxOrder
on MaxOrder.MaxOrderId = o.OrderId
答案 1 :(得分:0)
在查询更新后的问题时,会根据ID和日期
为您提供不同的计数SELECT COUNT (*) AS 'Total Id Count'
FROM (
SELECT DISTINCT Id, Date
FROM <TABLENAME>
)X