【发布时间】:2018-06-17 06:56:36
【问题描述】:
我有一个包含文章和选项列表 A 的表格。有时我需要对选项列表进行 GROUP 以总结要选择一次的文章(例如文章 A (3x) ),在某些情况下我需要显示项目未分组(文章 A (1x)、文章 A (1x)、文章 A (1x))
根据我想要显示分组或分组显示结果的选项列表的类型。
如果我可以在 GROUP BY 上使用条件,那就太好了
输出未分组
ID| EAN | article | amount
1 | 01234567890123 | A | 1
2 | 01234567890123 | A | 2
3 | 01234567890123 | A | 4
4 | 98695959292929 | B | 1
5 | 95956562629262 | C | 5
输出分组
ID| EAN | article | amount
1 | 01234567890123 | A | 7
4 | 98695959292929 | B | 1
5 | 95956562629262 | C | 5
SELECT article, ean, type FROM articles
GROUP BY articles.ean HAVING type = "grouped" <-- This is just for explainig. It's not a real selection
我不以这种方式工作,但我认为这有助于理解我的目标。
根据“类型”列的值,我想输出分组或未分组的数据。
我该如何存档?
【问题讨论】:
-
您的查询没有意义,因为您没有对任何内容进行分组。你想怎么分组?
-
更新您的问题添加适当的数据样本和预期结果
-
嗨。你没有解释你想要什么。您的示例没有用,因为它只是提出了问题,我们不知道您的意思。给出示例输入和输出,并使用语言来说明您想要的输出如何是任意情况下输入的函数。阅读minimal reproducible example 并采取行动。显示您可以编写的任何相关代码——例如,分别针对这两种情况。
-
好的,更新了问题。我只是想知道如何在 GROUP BY 上使用基于字段值的条件。
-
我认为这些操作必须在应用层而不是数据库层完成。
标签: mysql group-by conditional-statements