[英]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.