我有这样一张桌子:
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中拆分名称字符串?
例如:
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) 我想创建一个存储过程,它将匹配两个表.我的要求是根据用户传递的列作为输入匹配两个表.
句法:
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) 我有以下示例表和属性:
---------------------------
| 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,查询将返回: …
我有一个名为的表table,其中的行之一table具有像这样的值列:6,7,8,9
我想选择此行,这是我期望工作的代码:
SELECT * FROM table WHERE 8 IN (column)
没用 但是,有效的代码使我感到困惑:
SELECT * FROM table WHERE 6 IN (column)
我尝试了几个值,发现只有列表的第一个元素在起作用。
怎么会这样?
我四处搜寻,一无所获.
我有2个表,并且不必查询数据库中的每个帖子,显示我需要以某种方式加入它们.
我想url从picspost表中获得具有该字段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)