问题标签 [mariadb-10.4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 在选择特定列从哪一个中提取时连接表
编辑:我使用的是 10.4.11-MariaDB 版本。这是一些创建图示表格的代码
我将尝试彻底解决这个问题,因为我之前已经解决了这个问题,所以如果我需要提供任何其他信息,请告诉我。我将从三个代表我正在使用的数据的示例表开始,命名为cats
、stock
和orders
(如果重要,全部小写)。
基本思想是每个p_id
都有一个关联rating
的level
, 和sales
值,并且p_id
值可以通过它们共享的 进行分类c_id
。每个p_id
instock
都是独一无二的,只属于一个c_id
。我的目标是生成一个表,该表对 、 和 列的聚合执行一些简单的rating
计算level
,sales
按c_name
. 我已经按照它们所属的颜色p_id
对它们进行了颜色编码,希望能让事情更容易解释。c_id
下面是我要制作的表格示例:
编辑:汽车的最低评分应该是 92,而不是 8
如您所见,我想选择四列:
- 中的每个值
c_name
- 共享对应的
p_id
值的数量c_id
c_name
- 每个类别中包含
rating
的最小值p_id
- 每个类别
level
中所有值的平均值p_id
- 每个类别
sales
中所有值的总和p_id
我还想在底部有一行,对整个p_id
值群体进行这些相同的计算,忽略类别。即,具有 的总和# of P_id's
、 的最小值min rating
、 的平均值avg level
和 的总和的行# of sales
。注意orders
不包括every p_id
in stock
,有些p_id
值是重复的;重要的是中间三行p_id
只包含一次,无论它们出现多少次orders
。同样,最后一列必须对现有p_id
值的销售额求和,并按类别对它们进行分组。
我写了这个查询来尝试产生这个:
这几乎完全符合我的要求,除了最后一列的问题,它只显示所有p_id
价值组合的总销售额,而不管类别如何。我想在 SELECT 语句中使用子查询来计算该列,就好像我在 JOINing with 之后orders
用LEFT JOIN 代替,每列将仅根据在. 我的想法是通过简单地选择我在子查询中需要的最后一列所需的值来避免这种情况,但是我正在努力弄清楚当映射 from to仅存在于.stock
stock
cats
p_id
orders
product_id
category_id
stock
从本质上讲,我认为我的问题归结为不知道如何让我的中间三列基于列聚合数据p_id
,stock
同时确保最后一列只取自orders
. 谁能给我建议?
如果我需要更具体,请告诉我。
mysql - 我正在尝试通过 python 使用 Mariadb
此代码适用于 mysql。但是 Mysql 在我的笔记本电脑上不起作用,所以我选择了 mariadb 。有人可以帮我吗
我还安装了 MariaDB 连接器/Python 但没有用...
php - SQLSTATE [42S22]:未找到列:1054 未知列 PhP PDO MariaDB10
我发现自己在 PDO 中处于一个非常奇怪的境地。从 PhP 调用时不想执行查询,但从 HeidiSQL 调用时它会执行。
错误在标题中。
来自语句 debugDumpParams 的 SQL 查询:
接下来是我在查询字符串中添加genre.g_id = :id 的部分
在我绑定它的地方
在这两种情况下都设置了 $filterData["genreId"] 并且它有一个值,所以 if 没有问题。如果 $filterData["genreId"] 为空或未设置,则查询没有问题。
并且错误: SQLSTATE[42S22]: Column not found: 1054 Unknown column \'genre.g_id\' in \'where clause\'
但是等等,还有更多。如果我放genre.g_id2 而不是genre.g_id,它将如下所示:
现在它甚至达不到 $stmt->debugDumpParams(); 它给出的只是这个错误: SQLSTATE[42S22]: Column not found: 1054 Unknown column \'genre.g_id2\' in \'where clause\ ,没有像以前那样的查询。
表中存在 100% 列。此查询的类似问题:
似乎问题仅出在与表song
JOIN 一起使用的表中的列上。
下一个查询完美运行。
2天,没有解决方案。我发现的大多数解决方案都是再次检查该列是否确实存在:| 有没有人对这个特定问题有更好的解决方案?
目标是选择 g_id 与我传递给它的值相等的数据。
我如何创建查询字符串:
然后在一个函数中我添加这个
然后我这样做
最后
这是与问题相关的部分。我不能发布整个功能,它真的很长。
这用于根据某些输入或输入组合搜索数据。整个 DAO 类真的很大 :)
操作系统:Windows 10,PhP 版本:7.2.19,Apache 版本:2.4.35,MariaDB 版本:10.4 Heidi SQL:10.2.0.5599
再编辑一个:
如果我在第一次声明它时在 queryString 中添加列:
而不是在 $this->filterDataQuery($queryString, $filterData, "songs"); 当我基于选定的过滤器构建 queryString 时,它工作得很好。这是现在从浏览器控制台中选择的:
这个和第一个不一样吗?因为它是。我瞎了?
mysql - 无法在子查询中删除 WHERE
使用 MariaDB 10.4.12,我正在尝试执行一个基于子查询的 DELETE 语句:
当我执行此操作时,它会在 30 秒后超时。如果我查看 information_schema.innodb_lockwaits 和 innodb_trx,相同的 DELETE 语句会在两个不同的线程上阻塞自身。
如果我将它作为 SELECT 运行,它会在 1 毫秒内执行。
有任何想法吗?
python - 如何解决存储过程抛出的这个错误 1241 错误?
在 python 3.x 中,我有一个具有此定义的类
在我的 workhorse.py 脚本中,我定义了 call sproc
。
lastpl 是一个存储过程,具有以下内容:
当我调用 tradepl 定义时,我得到了错误:
(1241, 'Operand should contain 1 column(s)')
'NoneType' object is not iterable
我在整个过程中花了大约 5 个小时,几乎筋疲力尽。google/duckduck 上出现的搜索结果与我想要完成的不匹配。
任何帮助将不胜感激。谢谢
mariadb - 如何在 Mariadb 中为当前会话设置默认时间戳格式
如何设置默认时间戳格式(如 YYYY-MM-DD HH24:MI:SS.FF3 或“月 dd、YYYY、HH:MI AM”)以选择在当前会话中运行的查询,而不是通过MySQL
命令在每列上调用 DATE_FORMAT。
php - 一个字符串出现在另一个字符串中
我想知道是否有一种简单的方法可以在另一个字符串中查找一个字符串的出现。我正在使用这个查询:
$checkfileName[0]
将在 if 语句中设置,其中设置为GiM1_0
. 我的问题是该列不包含该特定字符串,仅包含其中的一部分。
那么有没有办法“搜索/查找”GiM1_0
并获取'GiM10_Integrated_testbed1'
. 不删除_
?也许有一种方法可以查看是否GiM1_0
找到了一些?他们都有GiM1
。
indexing - 尝试索引 sphinx.conf 时出现 Sphinx 3 2.1 错误
我是 Sphinx 的新手,并尝试在 sphinx.conf 中设置“索引”。
当我运行命令“indexer.exe --all --rotate --config C:\sphinx\etc\sphinx.conf”时,我发现了这样的错误:
这是我的 sphinx.conf
在我的 MariaDB 中,我有一个表名“仓库”,其中包含如下字段:
我该如何解决这个错误?请推荐更多狮身人面像知识我应该阅读更多。非常感谢你的帮助
mysql - 使用替换更新列
使用 MySQL (MariaDB 10.4.12)
我正在尝试使用替换功能更新列。我需要用 URL 替换 IP 地址。列中的值很长。
我在用:
当我运行它时,它更新的值是非常错误的。
但是,如果我从替换功能中删除“/content”,它会正确更新。
该列的数据类型为longtext:
此列中的值是元数据,即很长的字符串/代码。中间是我需要更新的网址。
示例:a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4:"data";s:3:"
and on and on and on。
此外,如果我只是使用 REPLACE() 函数进行选择,它会返回正确的值。
在替换函数或更新语句中使用正斜杠(“/”)是否存在问题?
谢谢-M
sql - 是否可以在 SQL 中使用数学函数创建一些字段?如果是,我应该如何解决这个问题?
我正在处理一个 SQL 表,它可以为每天节省金钱交易。这是我的桌子设计:
余额字段公式:balance_lastMonth
+ income
-outcome
和 balance_lastMonth 是上个月的余额
有可能在一张桌子上实现吗?如果是的话怎么办?或者可能有更好的方法来做到这一点。我正在使用 10.4.6-MariaDB。