我有一个SQL查询:
SELECT DISTINCT SUBSTRING_INDEX(value,'_',1) FROM category;
这在我的MySQL数据库上没有任何问题。
我试图将它与我的SQLite数据库一起使用,但它给出了关于SUBSTRING_INDEX命令的错误。因此,我使用了这个查询:
SELECT DISTINCT substr(value,'_',1) FROM category;
这将返回一个空的结果集。然后,我尝试了这个查询:
SELECT DISTINCT value FROM category
这样做效果很好。可能的问题是什么?
我试图查询数据库的唯一结果,句子(从SQL控制台请求)是ok的,我发送到数据库的参数也是ok的,所以必须抛出一个结果。
这是我的问题:
$cliente = mysql_fetch_assoc($mySQL->query("SELECT nombre FROM clientes WHERE rfc=(SELECT rfc FROM facturas WHERE rfc='".$numFactura."')"));
if (empty($cliente))
它总是空的,因为句子有问题,它应该是什么样子的?
在MySQL 5.1.34服务器上,我遇到以下令人困惑的情况:
mysql> explain select * FROM master.ObjectValue WHERE id IN ( SELECT id FROM backup.ObjectValue ) AND timestamp < '2008-04-26 11:21:59';
+----+--------------------+-------------+-----------------+----------------------------------------------------------
为什么这个查询返回一个空集:
select p.iuser_id,p.produit_id from portefeuille p
WHERE produit_id=48
AND p.iuser_id NOT IN (NULL);
而这一次:
select p.iuser_id,p.produit_id from portefeuille p
WHERE produit_id=48
LIMIT 5
返回结果如下
72968, 48
106967, 48
7381, 48
81678, 48
194250, 48
所有这些值都不是空值,也不应该等于空值。(我为一致性添加了限制5,我使用的是MyS
我有一个MySQL表或大约15万行,其中很大一部分在长blob字段中存储了blob(图像)。我正在尝试创建一个查询来选择行,并包含一个字段,该字段简单地指示了longblob (图像)是存在的。基本上
select ID, address, IF(house_image != '', 1, 0) AS has_image from homes where userid='1234';
该查询在300秒后超时。如果我删除' If (house_image != '',1,0)‘,它将在不到一秒钟的时间内完成。我也试过以下几种方法,但它们都暂
有没有办法检索不返回数据的查询的列名?此查询的结果将为空。有没有办法在没有结果的情况下找到列名?
请注意,我知道使用DESCRIBE和select column_name from information_schema.columns where table_name=‘person’的解决方案;但我需要一个更灵活的解决方案来适应这些多列查询。
还请注意,我仍然使用原始的PDO扩展(所以没有MySQLi,也没有MySQL )。
我对MySQL有一些麻烦。
下面是我使用的查询:
SELECT
COALESCE(SUM(`a`.`battles`), 0) AS `battles`
FROM
`account_stats` AS `a`
WHERE
`a`.`account_id` = 12345
GROUP BY
`a`.`account_id`
表account_stats不是空的,但与account_id = 12345没有行。
我希望MySQL返回0战斗而不是Empty set。但是,即使使用、COALSECE、或IFNULL,它也返回Empty set。
当我删除GROUP BY
我有一个在MySQL中工作的查询,但也需要使用H2。该查询执行一个子选择以生成用于排序的列。空值被替换为一个值,因此它们按照顺序被设置为最后一个。H2抱怨语法不好,子查询列不存在,它在MYSQL中运行得很好。我在H2上设置了MYSQL模式。
这是一个查询:
SELECT
OO.ID,
OO.UUID,
OO.BLOCKED,
OO.CREATED,
OO.UPDATED,
(SELECT
VALUE
FROM PUBLIC.OOSER_PA
WHERE (ATT_ID = (SELECT
ID
是否可以使用MySQL拥有查询数据的mysql条件,如果值为NULL,则将该值替换为空。下面的查询将显示数据,如下所示:
野马队49名乌鸦27匹小马
是否有一种方法可以构建查询,以便将上面的结果更改为仅用空替换空的下面的结果?
野马49只乌鸦27只小马
SELECT Home, Home_Score, Away, Away_Score FROM `NFL_Games` WHERE Week=6 order by
(case Day
when 'Thu' then 1
when 'Sat' then 2
when 'Sun' then 3
我有一个mysql查询不起作用。它给出了以下错误:
mysqli_query()期望参数1为mysqli,空给定
我的sql查询是:
$select = mysqli_query($sql, "SELECT title FROM category WHERE id LIKE (SELECT categorie_id FROM categories_sub WHERE file LIKE '".$site."')")
我试图在mysql (Mac&Linux上的版本5.7)查询中实现一些模糊的东西,但意识到mysql Rand()在使用/不使用空表时使用/不使用左联接时有一个奇怪的行为!
为了重现这个结果,我创建了两个表,t1和t2分别有1000条记录和1,000条记录。
然后我尝试运行以下两个查询:
SELECT count(*) FROM t1 LEFT JOIN t2 ON t1.id = t2.id WHERE RAND() < 0.5;
SELECT count(*) FROM t1 WHERE RAND() < 0.5;
第一个查询返回大约250个记录,而第二个查询返回~50
来自mysql :“联合中的第二个或更高版本的SELECT语句,依赖于外部查询”。但是UNION查询如何依赖外部查询呢?有人能给我举个清楚的例子吗?例如,在这个查询中:
SELECT * FROM sometable
WHERE id IN (
SELECT 1
UNION
SELECT 2 /* ! */
)
第二,union中的select语句(它本身是子查询)有依赖的UNION select_type,我不知道为什么,它必须是UNION,因为它不依赖任何东西。
考虑到MySQL中的这个SQL查询:
SELECT * FROM tableA WHERE tableA.id IN (SELECT id FROM tableB);
MySQL对tableA中的每一行执行子查询SELECT id FROM tableB多次吗?
有没有一种方法可以使sql在不使用变量或存储过程的情况下运行得更快?
为什么这通常比使用LEFT JOIN慢
我在mysql中绑定了一个替代来限制子查询,因为mysql 5不支持子查询中的limit关键字:
SET @i = 0;
SELECT BuildID, COUNT(TestCase)
from results R
where R.BuildID IN (select B.BuildID
from build B
where ( @i := ( @i +1 ) ) <= 25
and B.BuildID NOT LIKE 'T
我有一个关于编写查询的正确方式的问题。
我有一个employees表,假设有4列employee_id、department、salary、email。
有一些记录没有电子邮件地址,我想找到最有效的方式来编写SQL查询使用窗口函数,带来总工资每组,除以所有那些没有电子邮件地址。
我有两个解决方案,当然只有一个是有效的,有人能给我一些建议吗?
select department, sum(salary) as total
from employees
where email is null
group by 1
选项1
select a.department , a.total/(select
几乎每个人都遇到了以下子查询错误:
This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery
在这种情况下,每个答案都建议我们用left outer join替换子查询。
支持使用in操作的限制子查询是一个很好的特性,因为许多子查询都与in操作符一起使用,但是为什么MySQL开发组决定不将其引入MySQL,是否有任何原因使这些操作符在子查询中受到限制?
2016年11月30日,MySQL8.0最新的测试版文档草稿,Mysql仍然不支持这种子查询。
查询结果为空以及如何在MySQL中显示空值。下面是MySQL查询
SELECT sum(qty),status,bs_id FROM booking_status where checkin <= '$date_search' and checkout='' and room_no='G 1'
我想在PHP页面中显示没有结果的消息
我执行以下MySQL查询需要一天以上的时间:
SELECT SN,NUMBER FROM a
WHERE SN IN
(SELECT LOWER_SN FROM b
WHERE HIGHER_ED LIKE "%c1" AND LOWER_ED LIKE "%16")
AND ED LIKE "%16"
该子查询运行时间为21秒,返回11035行。我有一个索引:
SHOW INDEX FROM a
排序表Non_unique Key_name Seq_in_index Column_name排序基数Sub_part压缩空In
我的MySQL表类型有3列:、sum和 custom_sum ,其中custom_sum可以是空的,而且我不得不修改查询。
SELECT `type`, SUM(`sum`) FROM `localhost-test` GROUP BY `type`
我需要的是,如果custom_sum为空,则在SUM()中使用SUM()和,如果没有,则使用custom_sum。在mysql中可以根据"if“语句按不同的列进行求和吗?
如何从SELECT语句中的子查询获得非空结果?
SELECT a, b, c,
(SELECT d
FROM table2
WHERE ...) as d
FROM table 1
WHERE ...
只有当所有的值(a,b,c,d)都不是空值时,我才想得到结果。在main WHERE子句中使用相同的子查询也不是很奇怪/没有效率,但存在吗?