暂无图片
如何查看不同字段的distinct值
我来答
分享
暂无图片 匿名用户
如何查看不同字段的distinct值

比如表t


     字段 a 不同值 10

       字段 b  不同值 2


通过哪个系统表的字段能查询出来?

mysql 5.7

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
shunwahⓂ️

在 MySQL 5.7 中,并没有直接通过系统表(如 information_schema)来查询某个表中不同字段的 DISTINCT 值及其数量的功能。information_schema 数据库主要提供了关于数据库对象(如表、列、数据类型等)的元数据,而不是关于数据内容的统计信息。

要获取某个表中不同字段的 DISTINCT 值及其数量,你需要使用 SQL 查询语句来手动计算。以下是一个基本的示例,展示如何为表 t 中的字段 a 和 b 分别计算不同的值及其数量:

-- 查询字段a的不同值及其数量  
SELECT COUNT(DISTINCT a) AS distinct_a_count FROM t;  
  
-- 查询字段b的不同值及其数量  
SELECT COUNT(DISTINCT b) AS distinct_b_count FROM t;  
  
-- 如果你还想看到具体的不同值,可以使用GROUP BY  
-- 查询字段a的所有不同值  
SELECT DISTINCT a FROM t;  
  
-- 查询字段b的所有不同值  
SELECT DISTINCT b FROM t;  
  
-- 如果你需要同时查看两个字段的不同值及其组合的数量,可以这样做:  
-- 注意:这将给出a和b组合的不同值的数量  
SELECT COUNT(DISTINCT CONCAT(a, '-', b)) AS distinct_a_b_combinations FROM t;  
  
-- 但如果你想要分别查看a和b的不同值以及它们的数量,你可能需要分别查询,  
-- 或者使用UNION ALL来合并结果(但这样就不能直接看到每个字段的数量了)  
-- 例如,仅查看不同值(不包括数量统计)  
SELECT 'a' AS field, a AS value FROM t GROUP BY a  
UNION ALL  
SELECT 'b', b FROM t GROUP BY b;
暂无图片 评论
暂无图片 有用 1
广州_老虎刘

如果两个字段都有独立的索引, 可以select stat_description,stat_value from mysql.innodb_index_stats where table_name='t' and stat_description in ('A','B');

如果字段上没有索引, 那就只能对表的两个字段分别做count(distinct ) 了.

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏