2014-12-29 35 views
0

我想检查此SQL是否正确。SQL从表中获得第一个不同的值

"SELECT TOP 1 * FROM (SELECT DISTINCT [Entry Date] FROM [" + group + "]) WHERE [Entry Date]>#" + initDate + "# ORDER BY [Entry Date]"

预先感谢您

解决:我发现SQL完美的作品。这只是我在我的程序中犯了一个小错误。现在解决了。

+0

您对此查询面临什么问题? – MTahir

+0

我正在创建一个c#程序。我的程序卡在中间。我想看看问题是在这里还是在别的地方。 – Harshan01

+0

分别运行查询以检查您是否正在获取结果,并使用调试器来跟踪问题 – MTahir

回答

0

你想要这个吗?

select min([Entry Date]) 
from [group] 
where [Entry Date] > #" + initDate 

或本:

select top 1 * 
from [group] 
where [Entry Date] > #" + initDate 
order by [Entry Date] 
+0

我想选择不同的行。 – Harshan01

+0

@ Harshan01。 。 。这应该是第二个查询。 –

+0

由于表中有重复的值。 – Harshan01

0

这应该工作。

SELECT B.* FROM (
SELECT [EntryDate] FROM Group 

EXCEPT 

SELECT [EntryDate] FROM (

SELECT [EntryDate] 
,ROW_NUMBER() OVER (ORDER BY [EntryDate]) AS Rown 
from Group 
         )A WHERE Rown > 1)B JOIN Group C ON a.[EntryDate] = B.[EntryDate] 

WHERE [Entry Date] > #" + initDate 
ORDER BY [Entry Date] 
+0

MS Access没有row_number – Taryn

+0

正确指出。其实我以前没有注意到'MS Access'标签。 – SouravA

相关问题