我有下面的格式返回數據的查詢:計數識別號列的MySQL
id | name | number
1 John 12545
1 John 50496
2 Mary 23443
3 Mark 54
3 Mark 5600
3 Mark 50206
我想找出出現在結果集不同ids
數量。例如,上面的結果。我想獲得值3.
有什麼辦法添加一列,所以結果看起來像這樣嗎?
count | id | name | number
3 1 John 12545
3 1 John 50496
3 2 Mary 23443
3 3 Mark 54
3 3 Mark 5600
3 3 Mark 50206
我的查詢是:用CROSS JOIN
SELECT x.totalCount,
a.id, a.name, a.number
FROM tableName a, (SELECT COUNT(DISTINCT id) totalCount
FROM tableName) x
大概我將不得不把WHERE條件裏面(SELECT COUNT(DISTINCT ...)),如果我想在我的例子查詢計算表中的「T1」的行數? –
如果列被聚合,則不能使用WHERE。它應該是(*例如*)'有計數(DISTINCT id)> 1' –
我有點困惑。你的建議意味着我想要統計整個表的查詢行('.. FROM tableName')?我只想計算表中的行的子集,使用WHERE子句進行選擇。 –