想象一下有两列的表(还有更多,但与这个问题无关):
`EAN` bigint(20) unsigned DEFAULT NULL,
`parameter_id` mediumint(8) unsigned DEFAULT NULL,
此查询不工作,并返回错误:
SELECT EAN FROM eTovar WHERE EAN GROUP BY EAN HAVING parameter_id IS NULL
查询中的错误(1054):“having子句”中的未知列“parameter_id”
但是这个查询是有效的:
SELECT EAN FROM eTovar WHERE EAN
我使用SQL Link server从MariaDB获取数据。
但是当我从链接服务器使用MariaDB时,我遇到了速度慢的问题。
我使用了下面的场景来获取结果(也描述了查询所花费的时间)
如果您有任何解决方案,请提出建议。
patient表的总行数: 62520
SELECT count(1) FROM [MariaDB]...[webimslt.Patient] -- 2.6 second
SELECT * FROM OPENQUERY([MariaDB], 'select count(1) from webimslt.patient') -- 47ms
SELECT * F
我即将使用Azure数据工厂计划数据库插入。
我有1个拷贝数据和2个查找1.最大Id插入目标表( json代码中的LastValue) 2.来自源表的最大id ( Max )。
为了在复制数据中获取查找值,我编写了一个如下所述的查询,但仍然收到错误,并且无法在select查询中获取查找值。
select * from where @{activity('CDNOps_LastUpdateValue').output.firstRow.LastValue} ()-30 and id >select @{activity('Source_MaxValue').
一周前,我们将数据库从mySQL8转换为MariaDB10,现在出现了严重的性能问题。我们找出了原因:我们经常在select语句和ORDER BY中处理子查询。下面是一个示例:
SELECT id, (SELECT id2 FROM table2 INNER JOIN [...] WHERE column.foreignkey = table.id) queryResult
FROM table
WHERE status = 5
ORDER BY column
LIMIT 10
想象一下,如果table中有1.000.000个条目会受到status = 5的影响。
mySQL8中发生的事情:执
我试图在没有将amount和total存储在数据库中的情况下显示一个总计,我刚刚做了操作,结果将在浏览器中显示。我想将查询组合起来,但遇到了错误
在分析过程中发现3处误差。
之前发现了一个化名。(在第109号阵地接近“总数”),预计会有一个别名。(在108位置的“”附近)意外的标记。(第109号阵地接近“总计”)
下面是我尝试过的代码
SELECT ((`spercent` + `sharepercent`)/100) *`TransacAmount` AS amount AND (`TransacAmount` - amount) AS total
FROM sale
我需要在查询中多次使用一个表名。为了避免重复,我想将名称存储到一个中。
这个查询有什么问题?
SET @tableName := 'de-Table'
SELECT * FROM @tableName;
在MariaDB中,这个错误是隐秘的,并且(像往常一样)根本没有帮助:
/* SQL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use ne
我们最近将数据库从MariaDB转移到(MySQL)。我们在一组查询中观察到了一些奇怪的东西。我们有两个查询非常快,但当作为嵌套子查询在一起时,需要很长时间才能完成。
这里,id是表的主键
SELECT * FROM users where id in(SELECT max(id) FROM users where id = 1);
执行时间为~350 is
SELECT * FROM users where id in(SELECT id FROM users where id = 1);
执行时间~130 is
SELECT max(id) FROM users where i
我有MariaDB 10.1.14,很长一段时间我都在进行以下查询,没有问题(大约3秒):
SELECT
sum(transaction_total) as sum_total,
count(*) as count_all,
transaction_currency
FROM
transactions
WHERE
DATE(transactions.created_at) = DATE(CURRENT_DATE)
AND transaction_type = 1
AND transaction_status = 2
G
我在MariaDB中创建了两个表,其中一个表有一个计算外键的列。脚本的简化版本遵循以下格式: CREATE TABLE a {
pk INT PRIMARY KEY,
value INT
}
CREATE TABLE b {
pk INT PRIMARY KEY,
value INT,
calc INT,
CONSTRAINT fk
FOREIGN KEY (value)
REFERENCES a (value)
} 事实证明,'calc‘总是等于’值‘+1。当查询'b’时,从未引用过b.value,但经常引用b.calc。我应
我希望找到在某个时间戳之前创建的所有表和视图。对于桌子来说,这很容易,只是
SELECT * FROM information_schema.tables
WHERE table_type = 'TABLE' AND create_time < :ts
但就观点而言,这并不是那么简单。create_time列对于information_chema.tables中的所有视图都是空的。例如:
MariaDB [MYDB]> SELECT IF(create_time IS NULL, 'Null', 'Not Null') AS has_
我有一个具有ID主键(自动增量)和唯一列Name的表。如果不存在相同的Name,在MariaDB中是否有一种有效的方法可以将行插入到此表中,否则选择现有行,在两种情况下,都返回具有此Name的行的ID 这是一个solution for Postgres。但是,MariaDB似乎没有RETURNING id子句。到目前为止,我尝试的是蛮力: INSERT IGNORE INTO services (Name) VALUES ('JohnDoe');
SELECT ID FROM services WHERE Name='JohnDoe'; 更新: MariaDB
我有个问题。 我正在尝试在mariaDB中以箭头形式应用下面的查询,以供php使用。 SELECT JSON_UNQUOTE(JSON_EXTRACT(`Purpose Link`,"$.id[0]")) AS 'Item ID' FROM `financial_instruments` WHERE `Instrument ID` = 0; 据我所知,箭头符号的形式必须如下所示。 SELECT `Purpose Link`->>"$.id[0]" AS 'Item ID' FROM `financial_instru
我对MS Sql Server有以下查询:
SELECT DISTINCT
OnTable.name as OnTable,
AgainstTable.name as AgainstTable
FROM sysforeignkeys fk
INNER JOIN sysobjects onTable ON fk.fkeyid = onTable.id
INNER JOIN sysobjects againstTable ON fk.rkeyid = againstTabl
我在将mariaDB查询转换为coldbox criteriaBuilder时遇到了问题。我不太懂如何在冷盒中使用criteriaBuilder连接多个表。这是我的mariaDB查询:
select TerminalInst.* from TerminalInst
inner join Terminal on TerminalInst.terminal_id = Terminal.id
inner join custinst on TerminalInst.custinst_id = custinst.instID
where Terminal.description like '%
我有两张桌子,customer和customer_risk_score。当记录新客户时,customer表将增长。我将客户数据插入到customer_risk_score中。
我的场景是,customer_risk_score表中有超过245,890个条目,而客户条目已增长到699,780条记录。
当我运行此查询以
INSERT INTO customer_risk_score (rim, client_code, calculated_on)
SELECT rim, client_type, Now()
FROM customer
WHERE rim NOT IN (SELECT
我有一个针对MariaDB的SQL查询。
select @ref:=id as id, unique_id, reference_id
from mytable
join (select @ref:=id from mytable WHERE unique_id = 55544)tmp
where reference_id=@ref
如何在HQL查询中实现此查询?我想在JPA中使用它?
我正在开发MariaDB 10.3.29。 我有一个这样的查询(在本例中简化了): SELECT
MIN(IF(v > 0, v, v*100)) AS min,
MAX(IF(v > 0, v, v*100)) AS max
FROM tab
WHERE someCondition = 0
GROUP BY someGroup; 我希望避免重复IF(v > 0, v, v*100)部分,因为我担心它可能会为大型查询添加大量负载(即使缓存)。我可能错了,也许MariaDB足够聪明,不会重复。在任何情况下,如果可能的话,我都想避免它。 我尝试过这样的东西: S
我有一个MySQL数据库,它有一个具有值~!@#$%^&*()_+|}{“?><./‘;[]\=-’的已归档的_+|}的查询:‘%@#$%’,尝试从标签信息中选择TagName;
它显示带有标签名包含引号字符的数据。但是,我使用=操作符和like操作符进行查询,并添加更多的引号以接受单引号,但它显示的是空结果。
我也尝试添加排序规则UTF8_GENERAL_CI或更改字符集,但都不是成功的。
SELECT * from taginfo where tagname like '%~!@#$%^&*()_+|}{":?><./'
我想知道,为什么使用IN-运算符的查询比简单的SELECT慢得多.
让我就一个例子演示一下我的观察:
Query1: SELECT VIDEO_ID FROM videos (about 8000 rows with 1 column)
Query2: DELETE FROM video_snapshot WHERE video_snapshot.VIDEO_ID IN (Query1)
video_snapshot是一个很大的表,有超过7.000.000行,但是VIDEO_ID是索引的,所以在WHERE-clause中使用VIDEO_ID查询就足够快了。
IN-Operator是如何工作的