Mysql 如何找到最常见和最不常见的数字
我有一个由5列组成的数据库 每列都是一个INT 我想找出每列中出现频率最高的数字 我还想知道哪个数字序列出现得更频繁 最不常见的情况也是如此Mysql 如何找到最常见和最不常见的数字,mysql,sql,sqlite,Mysql,Sql,Sqlite,我有一个由5列组成的数据库 每列都是一个INT 我想找出每列中出现频率最高的数字 我还想知道哪个数字序列出现得更频繁 最不常见的情况也是如此 假设列是userid,我想使用MYSQL或SQLITE select UserID, count(UserID) from myUsers group by UserID order by count(UserID) desc 或 假设列是userid select UserID, count(UserID) from m
假设列是userid,我想使用MYSQL或SQLITE
select UserID, count(UserID)
from myUsers
group by UserID
order by count(UserID) desc
或
假设列是userid
select UserID, count(UserID)
from myUsers
group by UserID
order by count(UserID) desc
或
假设模式如下
最频繁
对每个列执行以下查询
SELECT int_col1, COUNT(int_col1)
FROM tbl
GROUP BY int_col1
ORDER BY COUNT(int_col) DESC LIMIT 1
SELECT int_col1, COUNT(int_col1)
FROM tbl
GROUP BY int_col1
ORDER BY COUNT(int_col) ASC LIMIT 1
最不频繁
对每个列执行以下查询
SELECT int_col1, COUNT(int_col1)
FROM tbl
GROUP BY int_col1
ORDER BY COUNT(int_col) DESC LIMIT 1
SELECT int_col1, COUNT(int_col1)
FROM tbl
GROUP BY int_col1
ORDER BY COUNT(int_col) ASC LIMIT 1
数字序列出现的频率更高
假设模式如下
最频繁
对每个列执行以下查询
SELECT int_col1, COUNT(int_col1)
FROM tbl
GROUP BY int_col1
ORDER BY COUNT(int_col) DESC LIMIT 1
SELECT int_col1, COUNT(int_col1)
FROM tbl
GROUP BY int_col1
ORDER BY COUNT(int_col) ASC LIMIT 1
最不频繁
对每个列执行以下查询
SELECT int_col1, COUNT(int_col1)
FROM tbl
GROUP BY int_col1
ORDER BY COUNT(int_col) DESC LIMIT 1
SELECT int_col1, COUNT(int_col1)
FROM tbl
GROUP BY int_col1
ORDER BY COUNT(int_col) ASC LIMIT 1
数字序列出现的频率更高
你说的“数字序列”是什么意思?如果没有明确的排序顺序,记录的顺序是未定义的。呃,规范化的候选者?你所说的“数字序列”是什么意思?如果没有明确的排序顺序,记录的顺序是未定义的。呃,规范化的候选者?他不能只对记录的计数进行最小值和最大值吗that@MohammadAbuShady您好,您是说
most
和least
?我已经编辑了我的答案。是的,这可能有效,但对我来说,我将返回整个集合,不受限制
,并在应用程序级别提取最大值和最小值。@MohammadAbuShady谢谢,如果有小的结果集,我同意你的意见。若结果集很大,网络成本会更高。让他选择他想要的合适的方式每天表中都会输入一系列数字。今天的顺序是2,5,12,17和64他能不能只做一个最小值,最大值that@MohammadAbuShady您好,您是说most
和least
?我已经编辑了我的答案。是的,这可能有效,但对我来说,我将返回整个集合,不受限制
,并在应用程序级别提取最大值和最小值。@MohammadAbuShady谢谢,如果有小的结果集,我同意你的意见。若结果集很大,网络成本会更高。让他选择他想要的合适的方式每天表中都会输入一系列数字。今天的顺序是2,5,12,17和64