MySQL数据库,查询数据!急急急啊,高手们,求帮忙啊!
MySQL下:表结构和模拟数据例如:tablestateidcontext...................1A-B-A-C2B-D-D-A求出来的结构如下,分别统计...
MySQL下:
表结构和模拟数据例如:
table state
id context
...................
1 A-B-A-C
2 B-D-D-A
求出来的结构如下,分别统计他们出现的次数:
id A B C D
....................................
1 2 1 1 0
2 1 1 0 2
高手们,请问这个sql怎么写?
ABCD固定,全大写! 展开
表结构和模拟数据例如:
table state
id context
...................
1 A-B-A-C
2 B-D-D-A
求出来的结构如下,分别统计他们出现的次数:
id A B C D
....................................
1 2 1 1 0
2 1 1 0 2
高手们,请问这个sql怎么写?
ABCD固定,全大写! 展开
5个回答
展开全部
select id,
A = char_length( context ) - char_length( replace( context, "A", NULL ) ),
B = char_length( context ) - char_length( replace( context, "B", NULL ) ),
C = char_length( context ) - char_length( replace( context, "C", NULL ) ),
D = char_length( context ) - char_length( replace( context, "D", NULL ) )
from state
这个对,没有想到啊
A = char_length( context ) - char_length( replace( context, "A", NULL ) ),
B = char_length( context ) - char_length( replace( context, "B", NULL ) ),
C = char_length( context ) - char_length( replace( context, "C", NULL ) ),
D = char_length( context ) - char_length( replace( context, "D", NULL ) )
from state
这个对,没有想到啊
展开全部
只有A、B、C、D吗?还是有别的?
区分大小写吗?
如果有哪些字母可以欲知,用一条查询命令就可以完成,如果需要动态地获取,就需要编写存储过程,像一般编程一样去逐一统计。
区分大小写吗?
如果有哪些字母可以欲知,用一条查询命令就可以完成,如果需要动态地获取,就需要编写存储过程,像一般编程一样去逐一统计。
追问
只有四个 全是大写,请问怎么用sql表达,谢谢!
追答
select id,
A = char_length( context ) - char_length( replace( context, "A", NULL ) ),
B = char_length( context ) - char_length( replace( context, "B", NULL ) ),
C = char_length( context ) - char_length( replace( context, "C", NULL ) ),
D = char_length( context ) - char_length( replace( context, "D", NULL ) )
from state
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
长度一定吗,就按4个算
select id, Substring(Replace(context,'-'), 1, 1) As First, Substring(Replace(context,'-'), 2, 1) As Sec, Substring(Replace(context,'-'), 3, 1) As Tir, Substring(Replace(context,'-'), 4, 1) As For
into ##temp from state
再计算
select id, Substring(Replace(context,'-'), 1, 1) As First, Substring(Replace(context,'-'), 2, 1) As Sec, Substring(Replace(context,'-'), 3, 1) As Tir, Substring(Replace(context,'-'), 4, 1) As For
into ##temp from state
再计算
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
额 最好先自己建一个类似JAVA里面的split函数那样的,先根据分隔符来分隔字符串,然后才方便进行计算,Mysql不自带这个函数
贴俩相关的链接吧 http://blog.csdn.net/guzicheng/archive/2010/09/10/5874867.aspx
http://blog.163.com/o5655@126/blog/static/166742834201121113331483/
贴俩相关的链接吧 http://blog.csdn.net/guzicheng/archive/2010/09/10/5874867.aspx
http://blog.163.com/o5655@126/blog/static/166742834201121113331483/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select id,
A = char_length( context ) - char_length( replace( context, "A", '' ) ),
B = char_length( context ) - char_length( replace( context, "B", '' ) ),
C = char_length( context ) - char_length( replace( context, "C", '' ) ),
D = char_length( context ) - char_length( replace( context, "D", '' ) )
from state
A = char_length( context ) - char_length( replace( context, "A", '' ) ),
B = char_length( context ) - char_length( replace( context, "B", '' ) ),
C = char_length( context ) - char_length( replace( context, "C", '' ) ),
D = char_length( context ) - char_length( replace( context, "D", '' ) )
from state
参考资料: 第一php网提供的教程
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询