2016-08-05 56 views
-1

我有table-A,我想从2016-06-252016-06-26中选择日期范围以查找名称上的差异。使用一个表格选择两行之间的差异

基于PIC的结果应该是这样的:

2016-06-26 joe  40 

我想查询一些东西像:

SELECT * FROM `2g` 
WHERE 'Date' between '2016-06-25' AND 'Date' '2016-06-26' 
and (`name` != `name`) 

enter image description here

+1

哪个RDBMS ???? – Strawberry

+0

严重?这个where子句'和(name!= name)'永远不会返回任何东西......永远! –

+0

名称如何以任何方式为真? – Rupsingh

回答

0

请用我的SQL查询希望这个工作适合你。

with x as (select *,k = COUNT(*) 
      over(PARTITION BY Name,Age) 
      from 2g) 

select [Date] 
     ,[Name] 
     ,[Age] from x 
where k <= 1 and Date between '2016-06-25' AND '2016-06-26' 

enter image description here

+0

我有几个数据为一个月,我必须指定日期''日期'之间('2016-06-25'和'2016年6月26日')如果有不同的年龄,那么我想知道。 – user2975180

+0

请检阅我更新的答案..希望它对你有帮助 –

0

这where子句and (name != name)永远不会返回因为name将永远等于name。你应该这样做:

SELECT * FROM 2g WHERE 'Date' between ('2016-06-25' AND '2016-06-26') 
AND count(name) = 1 
GROUP BY name 
+0

我有年龄不同,年龄有独特的价值。如果两个日期之间有不同的年龄。然后拿出来。 – user2975180

+0

在where条款中加上'AND count(Age)= 1' –

0

请检查这一点。我不知道这个语法适用于mysql。

SELECT name FROM 2g 
WHERE 'Date' between '2016-06-25' AND '2016-06-26' 
Group by Name 
Having count(Name) > 1 
+0

感谢您的回放,如果我想比较'2016-06-25'和'Date'2016-06-26'之间的年龄。如果这两个群体之间存在不同的年龄,则将其整理出来。 SELECT * FROM'2g''2016-06-26'和'Date'之间'WHERE'日期'2016-06-26' 按'年龄'分组 拥有('年龄')!=('年龄') – user2975180

+0

两组的含义是什么,你需要的输出是什么。 – Ajay2707

+0

我想知道有一个新的记录,看着图片,(组1):在25日有3个值20,23,20岁。 (组2),有20,23,20,40。我想查询选择日期和比较年龄>>>找到40 – user2975180