我有两个查询我想组合成一个输出,我不能使用 UNION 因为它们有不同数量的列。
该表的所有ref
字段id
refid
cellid
cat
都包含整数
查询 1:查找每个唯一的总行数cellid
SELECT cellid, COUNT(*) totalcount, cat FROM rel GROUP BY cellid
cat
查询 2:查找每个唯一的模式(最常见的值)cellid
SELECT cellid, cat
FROM rel t
GROUP BY cellid, cat
HAVING cat = (
SELECT cat
FROM rel
WHERE cellid = t.cellid
GROUP BY cat
ORDER BY COUNT(*) DESC, cat
LIMIT 1
)
举一个我正在尝试做的例子,我想查询我的表
id | refid | cellid | cat
1 | 1 | 1 | 1
2 | 2 | 2 | 2
3 | 3 | 3 | 4
4 | 1 | 1 | 2
5 | 2 | 1 | 2
6 | 3 | 1 | 3
7 | 1 | 2 | 2
8 | 1 | 1 | 2
并返回
cellid | no_of_rows | Mode_of_cat
1 | 5 | 2
2 | 2 | 2
3 | 1 | 4