mysql一条sql怎么统计某个字段不同值的个数?

mysql一条sql怎么统计某个字段不同值的个数?,第1张

以时间为跨度统计不同的值,在该时间出现的次数。

语言如下:

select count(*),'列名' from tablename group by '列名'

select count(*),a_yqm from user group by a_yqm

举例:

这里,我要查询出1年内每个月份periods字段不同值的次数。

比如下图中可见的2015-4月,periods为2出现了3次,3出现了1次,最关键的是 periods你不知道有多少种可能的值,也许这个月有1,也许没有。

CREATE  function [dbo].[GetCharIndexNum](@findstring varchar(max),@string varchar(max))

returns int

AS

BEGIN

   declare @location int , --要找字符位置

           @num int  --要找的字符出现的次数

   

   set @num =0

   set @location = charindex (@findstring,@string)

   while @location >0  ---字符串中存在要找的字符

     begin

      set @num =@num +1

      set @string =substring(@string,@location+1,len(@string))

      set @location = charindex (@findstring,@string)

    end

return @num

END

--举个例子调用这个标量值函数 select   [dbo].[GetCharIndexNum]('5','abc5ab5')

返回值2,5这个字符出现了2次

你的GID列是字符串类型么?

是的话用这个

length(gid)

gid按照字段长度从大到小前10条排列

就是用select

top

10

*

from

table名

order

by

length(gid)

desc


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6096998.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存