mysql - 不同的 2 个不同的列,如何在每一行中打印总组合
问题描述
有了这个查询,
SELECT DISTINCT ID, DATE FROM MAIN_TAB ORDER BY ID ASC
如何ID
在每行的前面打印字段的不同组合的总数,例如TOTAL_DISTINCT_VALUES
:
ID DATE TOTAL_DISTINCT_VALUES
37870 02/07/2018 3
37870 03/07/2018 3
37870 04/07/2018 3
55887 04/07/2018 2
55887 03/07/2018 2
61891 02/07/2018 1
44891 02/07/2018 1
75891 02/07/2018 1
解决方案
您可以使用 count 和 group by
SELECT ID, DATE, count(*) TOTAL_DISINCT_VALUE
FROM MAIN_TAB
GROUP BY ID, DATE
ORDER BY ID ASC
但是看着你的数据样本,你似乎只需要 id 的 cont ,所以你可以使用 id 对计数组的连接
select t.id, a.date, t.TOTAL_DISTINCT_VALUE
from MAIN_TAB a
inner JOIN (
select id, count(*) TOTAL_DISTINCT_VALUE
FROM MAIN_TAB
group by ID
) t on a.id = t.id
或按照 barmar 的建议。计数(不同的日期)
select t.id, a.date, t.TOTAL_DISTINCT_VALUE
from MAIN_TAB a
inner JOIN (
select id, count(distinct date) TOTAL_DISTINCT_VALUE
FROM MAIN_TAB
group by ID
) t on a.id = t.id
推荐阅读
- react-native - “反应”在哪里?
- ios - 基于 Date() 的秒表 - SwiftUI
- javascript - 将 JS crypto.createHmac 翻译成 Xojo Crypto.HMAC
- javascript - 如何使用超出其范围的变量
- python - 如何修复我的 Django 模型以存储用户输入的多个字符串列表。然后可以在将来作为对象检索哪个?
- angular - Angular 10 - 在模板中将 FormArray 分配给 FormGroup
- jquery - Symfony 4 探查器中的 JQuery Ajax POST 请求
- python - 为什么5大?(在一个简单的 if 语句中比较用户输入)
- amazon-web-services - AWS sagemaker 模型监视器 - ImportError:无法导入名称“ModelQualityMonitor”
- javascript - 我希望我的 JavaScript 代码返回“这是闰年”,但它返回“不是闰年”