作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我很难找到使用 GROUP BY 消除这些结果中多余行的正确方法:
id title author city year pageId page
1 The Faraway Tree Blyton New York 1951 NULL 1
1 The Faraway Tree Blyton New York 1951 NULL 2
1 The Faraway Tree Blyton New York 1951 NULL 3
1 The Faraway Tree Blyton New York 1951 NULL 4
1 The Faraway Tree Blyton New York 1951 NULL 5
1 The Faraway Tree Blyton New York 1951 NULL 7
1 The Faraway Tree Blyton New York 1951 NULL 9
1 The Faraway Tree Blyton New York 1951 NULL 13
1 The Faraway Tree Blyton New York 1951 NULL 30
2 Winnie the Pooh Milne London 1937 NULL 76
2 Winnie the Pooh Milne London 1937 NULL 73
2 Winnie the Pooh Milne London 1937 NULL 74
2 Winnie the Pooh Milne London 1937 NULL 75
1 The Faraway Tree Blyton New York 1951 4 32
2 Winnie the Pooh Milne London 1937 6 74
我想做的只是消除重复项,但前提是 pageId 为 NULL。
id title author city year pageId page
1 The Faraway Tree Blyton New York 1951 NULL 1
2 Winnie the Pooh Milne London 1937 NULL 76
1 The Faraway Tree Blyton New York 1951 4 32
2 Winnie the Pooh Milne London 1937 6 74
用简单的英语来说,逻辑是,如果 pageId 为 NULL,则按标题分组,否则将单行分开。
这听起来很简单,但无论我使用什么聚合函数或 GROUP BY
修饰符,我要么得到语法错误,要么得到不正确的结果(通常是带有 pageId 的行
使用 NULL pageIds 分组)。
请注意,当 pageId 返回为 NULL 时,“page”列对我来说变得不重要。
这是我正在使用的 SQL 查询(MySQL v. 5.6.37):
SELECT id,title,author,city,`year`,NULL as pageId,pageNum as page
FROM titles
WHERE id IN ([complex subquery])
UNION ALL (
SELECT id,title,author,city,`year`,pageId,pageNum
FROM titles
WHERE titles.t_id IN ([complex subquery])
)
我已经为此苦苦思索了三天,在 SO 或 Web 上找不到准确的解决方案。我想是时候谦虚地请求你的帮助了。请。
最佳答案
像这样的东西应该可以工作:
SELECT id, title, author, city, `year`, NULL AS pageId, MIN(page) as page
FROM title
WHERE pageId IS NULL
GROUP BY id, title, author, city, `year`
UNION ALL
SELECT id, title, author, city, `year`, pageId, page
FROM title
WHERE pageId IS NOT NULL;
关于mysql - MySQL 中的 GROUP BY 以 IS NULL 列为条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47755291/
我是一名优秀的程序员,十分优秀!