相关疑难解决方法(0)

计算VARCHAR字段中字符串的出现次数?

我有这样一张桌子:

TITLE          |   DESCRIPTION
------------------------------------------------
test1          |   value blah blah value
test2          |   value test
test3          |   test test test
test4          |   valuevaluevaluevaluevalue
Run Code Online (Sandbox Code Playgroud)

我试图弄清楚如何返回每个描述中字符串出现的次数.

所以,如果我想计算'value'出现的次数,sql语句将返回:

TITLE          |   DESCRIPTION                  |   COUNT
------------------------------------------------------------
test1          |   value blah blah value        |   2
test2          |   value test                   |   1
test3          |   test test test               |   0
test4          |   valuevaluevaluevaluevalue    |   5
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?我根本不想使用php,只是mysql.

mysql sql

165
推荐指数
5
解决办法
14万
查看次数

如何在mysql中拆分名称字符串?

如何在mysql中拆分名称字符串?

例如:

name
-----
Sachin ramesh tendulkar
Rahul dravid
Run Code Online (Sandbox Code Playgroud)

将名称拆分为firstname,middlename,lastname:

firstname   middlename    lastname
---------  ------------   ------------
sachin     ramesh         tendulkar
rahul      dravid
Run Code Online (Sandbox Code Playgroud)

mysql sql

85
推荐指数
5
解决办法
22万
查看次数

使用mysql拆分字符串

我想创建一个存储过程,它将匹配两个表.我的要求是根据用户传递的列作为输入匹配两个表.

句法:

CREATE PROCEDURE reconcile.matchTables(
  IN TAB1 VARCHAR(25), 
  IN TAB1 VARCHAR(25), 
  IN COLS1 VARCHAR(250) , 
  IN COLS2 VARCHAR(250))
Run Code Online (Sandbox Code Playgroud)

EX:

matchTables('table1', 'table2', 'col1#col2#col3#col4' , 'col2#col13#col1#col8')
Run Code Online (Sandbox Code Playgroud)

现在,存储过程应该像下面那样形成where子句

table1.col1 = table2.col2 
  and table1.col2 = table2.col13 
  and table1.col3 = table2.col1 
  and table1.col4 = table2.col8
Run Code Online (Sandbox Code Playgroud)

mysql string split

23
推荐指数
1
解决办法
4万
查看次数

MySQLi WHERE LIKE多个标准

我有以下示例表和属性:

---------------------------
|  Name  |       Town     |
---------------------------
| Name 1 |      POOLE     |
| Name 2 | POOLE/WALLASEY |
| Name 3 | POOLE/WALLASEY |
| Name 4 |      POOLE     |
---------------------------
Run Code Online (Sandbox Code Playgroud)

我在PHP中使用以下SQL语句来检索行:

SELECT * FROM `table` WHERE `Town` LIKE '%".$global->getPlayerTown()."%'
Run Code Online (Sandbox Code Playgroud)

根据POOLE数据库返回的标准:

---------------------------
|  Name  |       Town     |
---------------------------
| Name 1 |      POOLE     |
| Name 2 | POOLE/WALLASEY |
| Name 3 | POOLE/WALLASEY |
| Name 4 |      POOLE     |
---------------------------
Run Code Online (Sandbox Code Playgroud)

但是,在使用条件时POOLE/WALLASEY,查询将返回: …

php mysqli

5
推荐指数
1
解决办法
1238
查看次数

Mysql IN语句仅在列表中找到第一个元素

我有一个名为的表table,其中的行之一table具有像这样的值列:6,7,8,9

我想选择此行,这是我期望工作的代码:

SELECT * FROM table WHERE 8 IN (column)

没用 但是,有效的代码使我感到困惑:

SELECT * FROM table WHERE 6 IN (column)

我尝试了几个值,发现只有列表的第一个元素在起作用。

怎么会这样?

mysql sql

0
推荐指数
1
解决办法
420
查看次数

MYSQL加入逗号分隔查询

我四处搜寻,一无所获.

我有2个表,并且不必查询数据库中的每个帖子,显示我需要以某种方式加入它们.

我想urlpicspost表中获得具有该字段id的pics 表.现在pics继承我的问题:该字段是一个以分隔的"列表"(4,1或32,4,32,2),因为每个帖子通常都有多个图片.

表设置:

帖子:

 id | header | text | pics
| 1     xxx     xxx    3,1     
| 2     xxx     xxx    2,10,4     
| 3     xxx     xxx    16,17,18,19     
| 4     xxx     xxx    11,12,13        
Run Code Online (Sandbox Code Playgroud)

图片:

id | name | url
| 1   xxx   xxx    
| 2   xxx   xxx        
| 3   xxx   xxx          
| 4   xxx   xxx          
| 10  xxx   xxx         
| 11  xxx   xxx         
| 12  xxx   xxx                  
| 13  xxx   xxx          
| 16  xxx …
Run Code Online (Sandbox Code Playgroud)

mysql database join

0
推荐指数
1
解决办法
2692
查看次数

标签 统计

mysql ×5

sql ×3

database ×1

join ×1

mysqli ×1

php ×1

split ×1

string ×1