mysql - 使用 mysql 计算和连接序列化数据

标签 mysql

我正在使用的数据库有两个与序列化(复杂)数据链接的表。第一个表是:

Table1
CarID  Car
1      BMW
2      Porsche
3      Lexus

第二张表是:

Table2
ColorID Value
1       a:@!"1",asf@"2"
2       b:af"3", asf"1"
3       a:2f"1",asfl@"3"

双引号内的数字是指表1中的CarID。这很复杂,但它是软件的一部分,我无法更改数据库结构。

我需要做的是创建一个查询,计算表 2 中每辆汽车的链接次数。在这种情况下,输出将是:

BMW - 3
Porsche - 1
Lexus - 2

是否有查询可以执行此操作?

最佳答案

如果你真的不能改变你的数据结构......你可以使用这样的查询:

SELECT
  Table1.CarID,
  Table1.Car,
  COUNT(*)
FROM
  Table1 INNER JOIN Table2
  ON Table2.Value LIKE CONCAT('%"', Table1.CarID, '"%')
GROUP BY
  Table1.CarID,
  Table1.Car

请参阅 fiddle here .

关于mysql - 使用 mysql 计算和连接序列化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18474254/

相关文章:

php - 具有多个 ands 和 ors 的 Mysql 查询

c# - 比较 MySQL 日期与 c#/Nhibernate 日期

mysql - 使用两个参数排序时优化 MySQL 随机性

php - MySQL 中看似不正确的时区转换(UTC 到 PST)

mysql - 根据单独表中的条件查询具有 2m+ 行的 MySQL 表的正确方法

php - 使用sql查询进行间隔日期验证

php - 如何将 mysqli_stmt_bind_param 用于整数?

MySQL 仅在不存在时才插入,否则什么也不做

mysql 按日期分区

mysql - 如何在mysql中获取这个特定的用户排名查询?