Kri*_*ian 6 mysql sql group-by
假设我有这样的查询:
SELECT name, GROUP_CONCAT(number)
FROM objects
GROUP BY name
Run Code Online (Sandbox Code Playgroud)
它输出:
+----------+----------------------+
| NAME | GROUP_CONCAT(NUMBER) |
+----------+----------------------+
| false_1 | 2,1 |
| false_2 | 3,4 |
| true_1 | 4,3,2,1 |
| true_2 | 2,3 |
+----------+----------------------+
Run Code Online (Sandbox Code Playgroud)
现在我如何返回具有2 AND 3as的行number?
注意:此查询已分组 - 表有10行,如下所示:
+---------+--------+
| NAME | NUMBER |
+---------+--------+
| true_1 | 1 |
| true_1 | 2 |
| true_1 | 3 |
| ... | ... |
+---------+--------+
Run Code Online (Sandbox Code Playgroud)
Joh*_*Woo 11
SELECT name, GROUP_CONCAT(number)
FROM objects
WHERE number IN (2,3)
GROUP BY name
HAVING COUNT(*) = 2
Run Code Online (Sandbox Code Playgroud)
或者如果要保留名称所具有的所有值,
SELECT a.name, GROUP_CONCAT(A.number)
FROM objects a
INNER JOIN
(
SELECT name
FROM objects
WHERE number IN (2,3)
GROUP BY name
HAVING COUNT(*) = 2
) b ON a.Name = b.Name
GROUP BY a.name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5604 次 |
| 最近记录: |