结合这两个查询的正确语法是什么?
SELECT clicks FROM clicksTable WHERE clicks > 199 ORDER BY clicks ASC LIMIT 1
和
SELECT clicks FROM clicksTable ORDER BY clicks DESC LIMIT 1
我试过了:
SELECT clicks FROM clicksTable WHERE clicks > 199 ORDER BY clicks ASC LIMIT 1
UNION
SELECT clicks FROM clicksTable ORDER BY clicks DESC LIMIT 1;
但我收到“ UNION和ORDER BY的用法不正确”。
编辑 此外,我希望结果在一行中返回。这样我就可以访问php中的值,例如
$row['nextclick'] and $row['topclick']
根据西蒙的建议,我不应该使用UNION,因为我想返回一行数据
您不能先ORDER BY
进入SELECT
,然后再进入UNION
。
编辑
但是你可以
将ORDER BY或LIMIT应用于单个SELECT,将子句放在包围SELECT的括号内:
如MySQL UNION文档中
(SELECT a FROM t1 WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2 ORDER BY a LIMIT 10);
然后,这使您的SQL
(SELECT clicks FROM clicksTable WHERE clicks > 199 ORDER BY clicks ASC LIMIT 1)
UNION
(SELECT clicks FROM clicksTable ORDER BY clicks DESC LIMIT 1);
编辑2
要返回array
SELECT (SELECT clicks
FROM clicksTable
WHERE clicks > 199
ORDER BY clicks ASC
LIMIT 1) AS NextClick,
(SELECT clicks
FROM clicksTable
ORDER BY clicks DESC
LIMIT 1) AS TopClick;
本文向大家介绍MySQL查询将两列合并为一个列?,包括了MySQL查询将两列合并为一个列?的使用技巧和注意事项,需要的朋友参考一下 您可以为此使用功能。在该函数中,它从列中返回第一个NON NULL值。为了理解这个概念,让我们首先创建一个演示表 使用insert命令在表中插入一些记录。查询如下- 现在,您可以使用select语句显示表中的所有记录。查询如下- 以下是输出 这是将两列合并为一个查询的
问题内容: 如何合并这两个SQL语句? 两个表中都存在hits10,hits11和hits12。 问题答案: 使用UNION查询-只需在两个查询之间填入“ UNION”即可: 更新 将联合包装在另一个查询中:
问题内容: 使用wordpress数据库,我们有wp_options和wp_postmeta之类的表。这些按主键ID分组,然后按“ option_name”和“option_value”之类的字段分组; 因此,例如,要找出三个值,我需要执行3个不同的查询。 是否有适当的方法仅通过一个查询来完成所有这些操作? 请对此有所了解,并分享正确的方法。 (返回example.com,Example Blog
我有两个查询,它们查看不同的数据库表,并从每个表中的JSONB列中查找格式为[“tag1”、“tag2”、“tag3”]等的项。查询的目的是填充预测性下拉列表,即如果列表包含“dog”且用户类型为“d”,则应返回“dog”。这些查询中的每一个都单独工作,我可以很容易地将它们组合成一个JOOQ查询?
问题内容: 我有两个查询,每个查询返回一个结果,即一个数字 结果 。 结果 我希望将两个结果合并为一行记录,即 问题答案: 您可以使用: 说明:您可以在select语句中选择单个值作为字段,因此可以编写如下内容: 这仅对 标量 查询有效 ,这意味着子查询应具有精确的1列,最多1行。如果有0行,则ValueFromY将返回,而如果有1行以上,则查询将失败。 (在SQL Server,MySQL和其他
问题内容: 我要么变老,要么我需要写的查询变得越来越复杂。以下查询将获取与该用户的所有关联。 该表为(,,,); 现在,我还需要通过 独立查询如下所示: 但是,是否可以将这两个查询合并为一个查询?我的逻辑认为应该这样,尽管我不知道如何进行实际的JOIN。 问题答案: 我可能会使用UNION。