MySQL组字段及其值
假设我有一个表调用客户端。 在此表中,我有3个字段(A、B、C) 当A=B=C时,我想对每行进行分组 例: 我想得到以下信息MySQL组字段及其值,mysql,sql,Mysql,Sql,假设我有一个表调用客户端。 在此表中,我有3个字段(A、B、C) 当A=B=C时,我想对每行进行分组 例: 我想得到以下信息 (A,B,C) otherRow Count 1 x 2 2 x 2 2 y 1 3 x 1 4 y 1 您的查询是UNION,而不是JOIN: SELECT `A,B,C`, otherRow
(A,B,C) otherRow Count
1 x 2
2 x 2
2 y 1
3 x 1
4 y 1
您的查询是
UNION
,而不是JOIN
:
SELECT
`A,B,C`,
otherRow,
COUNT(`A,B,C`) AS `Count`
FROM
(SELECT a AS `A,B,C`, otherRow FROM t
UNION ALL
SELECT b AS `A,B,C`, otherRow FROM t
UNION ALL
SELECT c AS `A,B,C`, otherRow FROM t) AS u
GROUP BY
`A,B,C`,
otherRow
HAVING
`A,B,C` IS NOT NULL
看看这个。我添加了
NULL
-检查,因为您的“空”值不明显。如果删除它,将得到零计数的空行。您的查询是UNION
,而不是JOIN
:
SELECT
`A,B,C`,
otherRow,
COUNT(`A,B,C`) AS `Count`
FROM
(SELECT a AS `A,B,C`, otherRow FROM t
UNION ALL
SELECT b AS `A,B,C`, otherRow FROM t
UNION ALL
SELECT c AS `A,B,C`, otherRow FROM t) AS u
GROUP BY
`A,B,C`,
otherRow
HAVING
`A,B,C` IS NOT NULL
看看这个。我添加了
NULL
-检查,因为您的“空”值不明显。如果删除它,将得到零计数的空行。您的查询是UNION
,而不是JOIN
:
SELECT
`A,B,C`,
otherRow,
COUNT(`A,B,C`) AS `Count`
FROM
(SELECT a AS `A,B,C`, otherRow FROM t
UNION ALL
SELECT b AS `A,B,C`, otherRow FROM t
UNION ALL
SELECT c AS `A,B,C`, otherRow FROM t) AS u
GROUP BY
`A,B,C`,
otherRow
HAVING
`A,B,C` IS NOT NULL
看看这个。我添加了
NULL
-检查,因为您的“空”值不明显。如果删除它,将得到零计数的空行。您的查询是UNION
,而不是JOIN
:
SELECT
`A,B,C`,
otherRow,
COUNT(`A,B,C`) AS `Count`
FROM
(SELECT a AS `A,B,C`, otherRow FROM t
UNION ALL
SELECT b AS `A,B,C`, otherRow FROM t
UNION ALL
SELECT c AS `A,B,C`, otherRow FROM t) AS u
GROUP BY
`A,B,C`,
otherRow
HAVING
`A,B,C` IS NOT NULL
看看这个。我添加了NULL
-检查,因为您的“空”值不明显。如果删除它,将得到零计数的空行