簡體   English   中英

SQL Server 2005中的不同查詢

[英]Distinct query in sql server 2005

我有一個表,其中包含三個字段ID,Name,aDate。 我希望結果使用不同的名稱,並且希望日期生效。 我正在使用查詢

Select distinct(Name),adate from table_name.

但是我得到了錯誤的結果。我認為sql在這兩個字段的組合上應用不同。 我所做的是幫助我的。 我想要具有各自日期字段的不同名稱值。

如果每個名稱僅需要一個日期,則必須指定哪個日期:

例如:

 SELECT Name, Max(aDate)
 FROM table_name
 GROUP BY Name

由於此語句使用GROUP BY Name因此每個Name僅返回一行。 由於它使用aDate的聚合(在我的示例中是MAX()函數),因此它將返回您想要的適當日期。

通常,您應該嘗試避免使用DISTINCT關鍵字。 這很少是正確的方法。

如果您只想在表中使用不同名稱的列表,則可以使用

 SELECT DISTINCT Name
 FROM table_name

這將返回相同的結果。

 SELECT Name
 FROM table_name
 GROUP BY Name

Distinct不適用於一個字段,它適用於查詢的整個字段行。 因此,您要問的沒有任何意義。

如果您的表中有這樣的行

|ID|Name|Date|
|1|John|2011-4-1|
|2|John|2011-4-2|
|3|John|2011-4-2|

那么當您致電“ Select distinct name, date請注明您希望在日期欄中看到的內容?

您需要決定哪個日期。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM