tableid name1 test1,test2,test3,test4
2 test2,test3,test4
3 test3,test4
4 test4请问要怎么查询才能查出这样的结果
test1 1
test2 2
test3 3
test4 4要求:只用sql
2 test2,test3,test4
3 test3,test4
4 test4请问要怎么查询才能查出这样的结果
test1 1
test2 2
test3 3
test4 4要求:只用sql
调试欢乐多
1 test1,test2,test3,test4
2 test2,test3,test4
3 test3,test4
4 test4 想查询出这样的结果
test1 1
test2 2
test3 3
test4 4
也就是test1--4各出现了多少次
如果不方便那就再假设还有一个表
mytable
字段
id name
1 test1
2 test2
3 test3
4 test4
table.name相当于是有多条mytable.name的记录,但是用逗号分割开了
select count(case when name like ‘%test1%’ then 1 end) from `table`;
不过,如果test1,test2,test3、、、不知道有多少条记录呢?
一个表里有
1 test1
2 test2
3 test3
、、、
50 test50
51 test51
要查询出这个表里有的记录在
1 test1,test2,test3,test4
2 test2,test3,test4
3 test3,test4
4 test4
、、、
50 test2,test45
51 test43,test12
这个表里出现的次数
嘿嘿,这个又要怎么写呢?
就类似于
for(...){
String s=array[i]+"....";
}
呵呵,帮忙帮到底吧
+----+----------------------------+
| id | name |
+----+----------------------------+
| 1 | savage,garden,darren,hayes |
| 2 | garden,darren,hayes |
| 3 | darren,hayes |
| 4 | hayes |
| 5 | savage,garden,darren,hayes |
+----+----------------------------+
5 rows in set (0.00 sec)mysql> select * from test3;
+----+--------+
| id | name |
+----+--------+
| 1 | savage |
| 2 | garden |
| 3 | hayes |
| 4 | darren |
+----+--------+
4 rows in set (0.01 sec)mysql> select ttt.t3n,count(*) from (select tt.t2n t2n,tt.t3n t3n from (select t2.name t2n,t3.name t3n from test2 t2 inner join test3 t3) tt where locate(tt.t3n,tt.t2n)>0) ttt group by ttt.t3n;
+--------+----------+
| t3n | count(*) |
+--------+----------+
| darren | 4 |
| garden | 3 |
| hayes | 5 |
| savage | 2 |
+--------+----------+
4 rows in set (0.00 sec)没有用存储过程哦 呵呵