我有一個包含以下字段的表。從表中選擇計數所需的Sql查詢
Col A Col B
----- -----
I1 10
I1 10
I2 16
I3 14
I2 16
我需要一個查詢,應按如下給出輸出:
ColA Col B Count
---- ----- -----
I1 10 2
I2 16 2
I3 14 1
如何寫這個查詢。 請幫助
我有一個包含以下字段的表。從表中選擇計數所需的Sql查詢
Col A Col B
----- -----
I1 10
I1 10
I2 16
I3 14
I2 16
我需要一個查詢,應按如下給出輸出:
ColA Col B Count
---- ----- -----
I1 10 2
I2 16 2
I3 14 1
如何寫這個查詢。 請幫助
如果ColB
總是對的ColA
一個特定的值相同,則可以使用max
:
select ColA
, max(ColB)
, count(*)
from YourTable
group by
ColA
否則,你不得不解釋如何在你的結果ColB
值計算。
請試試這個,讓我知道
select [Col A] ,[Col B] ,count(*) [Count]
from <table>
group by [Col A] ,[Col B]
order by [Col A]
我試過了。但它不工作。計數不正確計算。 – raji 2012-07-10 09:01:56
@raji:這是根據你提供的例子。請告訴我Col B值如何。 I1總是10嗎?或者它是否也有其他一些價值? – 2012-07-10 09:09:34
您可以使用此解決方案:
SELECT ColA, ColB, COUNT(1) AS Count
FROM tbl
GROUP BY ColA, ColB
select colA, colB, count(colB) as `Count`
from your_table
group by colA, colB
http://sqlfiddle.com/#!2/e5c1b/1 – biziclop 2012-07-10 08:59:23
SELECT ColA, ColB, Count(ColB) FROM T GROUP BY ColA, ColB
使用GROUP BY
SELECT colA, colB, COUNT(colB) as Total
FROM tableName
GROUP BY colA, colB
試試這個:
SELECT ColA, colB, COUNT(colB) AS Count
FROM TableName
GROUP BY ColA,ColB
ORDER BY ColA,ColB
能否請你告訴我們你有什麼到目前爲止已經試過。 – Lex 2012-07-10 08:56:53
你需要在GROUP BY這兩列中使用COUNT來得到相同的行數。 – 2012-07-10 08:57:44
這個問題似乎是無關緊要的,因爲它是關於爲他完成提問者的工作。 – 2014-03-04 03:36:22