我有一個行,其中a
,b
和c
通常是相同的行。 我有一個查詢,讓我每一個獨特的記錄。我試圖獲得計數,返回每個不同記錄的重複記錄。獲取由DISTINCT查詢產生的重複行數
SELECT DISTINCT
a,
b,
c,
COUNT(id) as counted
FROM
table
COUNT
這裏返回所有記錄的計數。我正在尋找的是與唯一記錄相同的記錄數。
我有一個行,其中a
,b
和c
通常是相同的行。 我有一個查詢,讓我每一個獨特的記錄。我試圖獲得計數,返回每個不同記錄的重複記錄。獲取由DISTINCT查詢產生的重複行數
SELECT DISTINCT
a,
b,
c,
COUNT(id) as counted
FROM
table
COUNT
這裏返回所有記錄的計數。我正在尋找的是與唯一記錄相同的記錄數。
SELECT a,b,c,COUNT(*) FROM table GROUP BY a,b,c
啊,原來是重複想通了這一個了,因爲我在寫這個問題 - 我想我會分享我的結果,因爲它們是從我得到了我的答案足夠不同。
我必須使用子查詢得到的查詢不重複的記錄。然後,我可以使用子查詢的WHERE子句中的第一個查詢的結果。
SELECT DISTINCT
a,
b,
c,
(
SELECT
COUNT(id)
FROM
table_name t1
WHERE
t2.a = t1.a
) AS counted
FROM
table_name t2
這是有效的。讓我知道我的理解是否存在差距。
SELECT DISTINCT
a,
b,
c,
(
SELECT
COUNT(id)
FROM
table_name t1
WHERE
t2.a = t1.a
) AS counted
FROM
table_name t2
以上的子查詢所知道的行內的子查詢。在where子句t1和t2當作不同的表(這是一個在DB單表)的查詢。所以它檢查平等,然後計數。因爲我們爲一個專欄設置了獨特的功能,所以所有的遊戲都只用於完成。 我希望我能夠搭乘飛機。
這也工作。據我所知,同樣的結果和簡單的查詢。 – 2013-03-08 10:56:40