2016-05-12 49 views
2

顯示這是當前的代碼,我有:子查詢,我可以算的次數名稱第一個查詢

select Name, ECU, Identifier, Value, Max(Filetime) as "Filetime" 
from dbo.view_1 
where ECU='EBS7' and Identifier='88' and Value='2459579' or identifier ='87' and Value='2431629' 
group by Name, ECU, Identifier, Value 
ORDER BY 
    MAX(Name) ASC 

這是結果我得到:Result of query

我想某種子查詢或某個名稱出現次數。我們可以看到阿貢出現兩次,阿波羅阿卡只出現過一次。

我應該寫什麼的提示?

+1

你使用MySQL或MS SQL服務器? (不要標記不涉及的產品...)您的AND/OR用法可能需要一些括號? – jarlh

回答

0

我不知道MySQL,但是在MS-SQL這一

ORDER BY MAX(Name) ASC 

(您實際使用哪些產品是?)甚至不會編譯。您不能通過不在SELECT列表中的列進行排序。

如果你希望得到您的原始ResultSet的,名稱爲在設定本身的頻率,並且正在使用MS-SQL,你可以使用一個CTE:

WITH theset AS 
(select Name, ECU, Identifier, Value, Max(Filetime) as "Filetime" 
from dbo.view_1 
where ECU='EBS7' and Identifier='88' and Value='2459579' or identifier ='87' and Value='2431629' 
group by Name, ECU, Identifier, Value) 

SELECT set.*,CountNames.NameCount 
FROM 
    theset set 
INNER JOIN 
    (SELECT Name,Count(*) AS NameCount FROM theset GROUP BY Name) CountNames 
ON set.Name=CountNames.Name 
+0

我正在使用ms sql 2014版本。 'Order BY max(name)asc'實際上起作用。由於我有一個組,我需要有一些聚合函數來使用order。這種方式列表按名稱排序。 謝謝,我會嘗試你的代碼! –

+0

最大(名稱)可能「工作」,因爲它編譯,但它沒有意義。當Name已經在GROUP BY子句中時,Name對於集合中的每個成員都會公理地總是= MAX(Name)。 ORDER BY Max(Name)等同於ORDER BY(Name),並且令人困惑,所以我建議將它取出。現在讓我們看看CTE代碼是否工作 – SebTHU

+0

在'Select set。*,CountNames.NameCount'和'ON set.Name = CountNames.Name'編譯錯誤。是一個不正確的語法。 –

1

您可以使用此相關子查詢:

Select Name, ECU, Identifier, Value, 
     Max(Filetime) as "Filetime", 
     (select count(*) 
     from dbo.view_1 t2 
     where t2.Name = t1.Name and 
      ECU ='EBS7' and 
      ((Identifier='88' and Value='2459579') or 
      (identifier ='87' and Value='2431629')) as cnt 
from dbo.view_1 t1 
where ECU ='EBS7' and 
     ((Identifier='88' and Value='2459579') or 
     (identifier ='87' and Value='2431629')) 
group by Name, ECU, Identifier, Value 
ORDER BY MAX(Name) ASC 
+0

謝謝,但cnt顯示錯誤的值。 Agon的名字Agon出現2次,但cnt表明它出現561次。對於艾薩cnt是564. –

+0

@AdnanHossain我忘了在子查詢的WHERE子句中包含其他謂詞。請檢查我所做的修改。 –

+0

仍然無法使用。根據cnt,Agon出現了39次,其餘時間持續。 –

相關問題