相关疑难解决方法(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字符串由逗号运算符分隔

我有字符串asdasdwdfef,rgrgtggt,weef,我希望输出像表格式,如下所示

id      decription
1       asdasdwdfef
2       rgrgtggt
3       weef
Run Code Online (Sandbox Code Playgroud)

为此,我在这里创建了一个程序是我的程序

DELIMITER ;;
CREATE Procedure Split(_RowData text, _Delimeter text)
BEGIN
    DECLARE _Iterator INT default 1;
    DECLARE _FoundIndex INT;
    DECLARE _Data varchar(255);
    SET _FoundIndex = LOCATE(_Delimeter,_RowData);
    DROP TABLE IF EXISTS _RtnValue;
    CREATE temporary TABLE _RtnValue(ID INT AUTO_INCREMENT NOT NULL, description text, primary key(ID));
    WHILE _FoundIndex > 1 DO
        INSERT INTO _RtnValue (description)
        SELECT
        _Data = LTRIM(RTRIM(SUBSTRING(_RowData, 1, _FoundIndex - 1)));
        set _RowData = SUBSTRING(_RowData, _FoundIndex + LENGTH(_Delimeter) / 2, LENGTH(_RowData)); …
Run Code Online (Sandbox Code Playgroud)

mysql stored-procedures stored-functions

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

我可以使用纯mysql解决这个问题吗?(加入';'列中的分隔值)

总而言之:我需要将几个表格中的数据放在一起,为了不必画一张大桌子,我简化了它们.

我需要在一个查询中这样做,我不能使用PHP或任何其他语言来处理结果.(如果我可以简单地解决这个问题,我会使用PHP)

如果我有一个将t1行连接到t2的链接表,但不幸的是我没有,也不能引入一个,这不会是一个问题.

User table: (alias t1)
user(varchar 150),resources(varchar 250)
+-------+-------+
| user1 | 1;2;4 |
+-------+-------+
| user2 | 2     |
+-------+-------+
| user3 | 3;4   |
+-------+-------+

Resources table: (alias t2)
id(int 11 AI), data(text)
+---+-------+
| 1 | data1 |
+---+-------+
| 2 | data2 |
+---+-------+
| 3 | data3 |
+---+-------+
| 4 | data4 |
+---+-------+
| 5 | data5 |
+---+-------+
Run Code Online (Sandbox Code Playgroud)

多个用户可以连接到相同的资源,用户可以访问一个或多个资源.

我希望结果接近:

user,data
+-------+-------+
| user1 | data1 |
+-------+-------+
| user1 …
Run Code Online (Sandbox Code Playgroud)

mysql join

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

T-SQL-计算变量中的唯一字符

目标:以最快的方式计算变量中不同字符的数量。

DECLARE @String1 NVARCHAR(4000) = N'1A^' ; --> output = 3
DECLARE @String2 NVARCHAR(4000) = N'11' ; --> output = 1
DECLARE @String3 NVARCHAR(4000) = N'*' ; --> output = 1
DECLARE @String4 NVARCHAR(4000) = N'*A-zz' ; --> output = 4
Run Code Online (Sandbox Code Playgroud)

我发现了有关一列中不同字符,按字符分组等的一些帖子,但在这种情况下没有一个。

sql t-sql sql-server sql-server-2016

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