如何检查sql中每条记录的单个列的多个值?

时间:2016-07-19 07:35:12

标签: mysql

如何为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的新手,请帮助我。

2 个答案:

答案 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