我希望使用RAND()使用ORDER随机地对查询结果进行洗牌,但是在使用DISTINCT时,ORDER语句似乎被忽略了。
复制代码:
WITH tmp AS (
SELECT 'aa' cardno
UNION ALL
SELECT 'bb' cardno
UNION ALL
SELECT 'cc' cardno
UNION ALL
SELECT 'dd' cardno
UNION ALL
SELECT 'ee' cardno
UNION ALL
SELECT 'ff' cardno
UNION A
如何将包含有联合的查询生成的值收集到对象表中,如下所示
Select customer_name
from customer
where customer_id = 'xxx'
BULK COLLECT INTO customer_obj
UNION
Select customer_name
from customer
where customer_name like '%adam%'
以上的约束完全是由这些因素构成的。
考虑:
select 1 as id, 2 as val
UNION ALL
select 2 as id, 1 as val
DISTRIBUTE BY id SORT BY val
DISTRIBUTE BY是否只应用于第二个select表,还是应用于UNION ALL的结果,还有点模糊。
我是否需要一个子查询来确保DISTRIBUTE步骤仅在UNION ALL完成后应用,即
select * from (
select 1 as id, 2 as val
union all
select 2 as id, 1 as val
)
DISTRIBUTE BY id SORT
我在下面提到了sql query,它给出了日期的简单计数,或者如果我使用where和and条件作为日期,它会给出日期之间的合并计数。
select count(*) from A where date(date_1) = '2017-06-01';
我想为一个日期范围的计数为每个日期单独计数。
select count(*) from A where date(date_1) >= '2017-06-01' and date(date_1)<='2017-06-30';
Desired output:
Date C
我的问题是根据数据库创建的年份和月份从数据库中选择记录的计数。我有一个MySQL查询:
SELECT year, m, month, COUNT(bans.ban_id) AS total
FROM (
SELECT year, m, month
FROM
(SELECT YEAR(CURDATE()) year UNION ALL SELECT YEAR(CURDATE())-1) years,
(
SELECT 1 m, 'Jan' month
UNION ALL SELECT 2 m, 'Feb
MySQL查询
SELECT A FROM data WHERE A LIKE '%$term%'
|| B LIKE '%$term%' LIMIT 5
UNION SELECT D FROM data WHERE D LIKE '%$term%'
|| E LIKE '%$term%' LIMIT 5
在这里,我想显示我的A列的数据,当它与A或B列的数据字段匹配时,将这个数字限制为5+我的D列的数据,当它与D列或E列的数据字段匹配时,将这个数字限制为5。
但实际上它只显示了5行,而不是10行,知道我哪里错了。请帮帮忙
我尝试将不同的资源与Azure Stream Analytics上的联合声明结合起来。一般而言,这样做效果很好: SELECT
date
, value
FROM source1
UNION
SELECT
date
, value
FROM source2 但是现在我需要一些需要WITH语句的计算,所以我希望这能行得通: SELECT
date
, value
FROM source1
UNION
(WITH tempTab AS (
SELECT
date
, value
FROM
我有一个包含500K行的表,如下所示:
这样的查询有时需要2秒以上的时间:
SELECT *
FROM `alerts`
WHERE `a_timestamp` > '2012-04-15' AND `a_timestamp` <= '2012-04-16'
AND a_company_id IN(64,65,69,70,71,72,73,74,75,76,83,86,106,108,109,116,148) ORDER BY a_id DESC
下面是解释查询:
有人能指出我做错了什么吗?也许我漏掉了什么。在这么小
我使用UNION ALL查询多个插入。
如何对插入的每一行数据使用SELECT scope_identity();?
INSERT INTO MyTable (FirstCol, SecondCol)
SELECT 'First', 1
UNION ALL
SELECT 'Second', 2
UNION ALL
SELECT 'Third', 3
UNION ALL
SELECT 'Fourth', 4
UNION ALL
SELECT 'Fifth', 5
我正在移动Server数据库项目的第一步,我正在寻找一种方法,可以在部署后脚本中填充引用表,而无需每次删除和填充它们。经过一些研究,我无意中发现了这篇博文:
该示例基本上描述了合并语句的行为:
-- Reference Data for AddressType
MERGE INTO AddressType AS Target
USING (VALUES
(0, N'Undefined'),
(1, N'Billing'),
(2, N'Home'),
(3, N'Main Office'),
(4, N
我写了一个查询,显示每个id的前5个平均金额,然后显示除前5个id之外的所有id的平均值。当我这样写它时:
SELECT TOP 5 cast(lefty1.id as varchar) AS id, AVG(lefty1.amount) avg_amount
FROM left_table lefty1
GROUP BY id
ORDER BY AVG(amount) DESC
UNION
SELECT 'others' AS id, AVG(lefty2.amount) AS avg_amount
FROM left_table lefty2
WHERE id NOT IN
我的代码选择5个数据库并在表中显示,但where语句不起作用
查询忽略where。
SELECT *
FROM events
UNION ALL
SELECT * FROM eventstwo
UNION ALL
SELECT * FROM eventsthree
UNION ALL
SELECT * FROM eventsfour
UNION ALL
SELECT * FROM eventsfive where atender='$obj'
我有一个要求,我打算从Oracle DB中获取重复的记录,以便模拟我们有重复记录的场景。
因此,我决定使用union_all。
select column1 from tbl where rowid in (select rowid from tbl where rownum<=5)
union all
select column1 from tbl where rowid in (select rowid from tbl where rownum<=5)
order by column1;
--works
但是,当尝试获取所有列时,
select * from tbl wh
我有一个小查询和一个联合,以便在它旁边放置另一个小查询。但是,联合在其中有一个语法错误。
Select <column1>
,<column2>
,<column3>
From <Table1>
<Some joins in there>
where <conditions>
order by <column2>
union
select <column2>
,<column3>
,<column4>
from <T
我试图获得一个硬编码事件的列表,并加入一个包含实际事件的表中,这样我就可以看到它们是否被执行了。
以下是我的疑问:
SELECT a.Verification FROM (SELECT 'Verify ID changed' as Verification FROM DUAL
UNION ALL
SELECT 'Verify manual Valve closed' as Verification FROM DUAL
UNION ALL
SELECT 'Verify manual Valve open' as Verification FROM
我正在使用NamedParameterJdbcTemplate运行我的查询。该查询类似于:
SELECT id, desc FROM tableA WHERE id IN (:custIds);
现在,我正在调用一个web服务,它正在返回一个ids列表。因此,我使用NamedParameterJdbcTemplate将I列表映射到"custIds“。但是,当I列表超过1000个时,我遇到了一个问题。我已经读到DB将不能处理包含超过100或1000的IN。
由于我仅限于接收ids列表,您能建议除NamedParameterJdbcTemplate之外最好使用什么吗?
假设我有一个带有单个SomeTable列的表INT。
此查询工作良好:
INSERT INTO SomeTable
(SELECT 1 WHERE true)
UNION
(SELECT 2 FROM SomeTable WHERE true)
但是这会产生一个语法错误:
INSERT INTO SomeTable
(SELECT 1 WHERE true)
UNION
(SELECT 2 WHERE true)
错误代码: 1064。您的SQL语法出现了错误;请检查与您的MySQL服务器版本相对应的手册,以便在第4行使用接近“WHERE true”的正确语法。
错误
我正在2014中进行查询
基本上是很多工会
select x, y
where a = b
union
select x, y
where a = b
union
select x, y
where a = b
它工作得很好,但是where子句在每个选择上都是相同的。为了便于维护,我想知道是否有一种更好、更干净的方法来做到这一点。
我想先用where子句选择数据,然后只对这些数据执行所有其他查询。
但是我愿意接受任何关于如何改进这个查询的想法。
在规格中找不到答案。
所以,我想知道:我可以在hive中做这样的事情吗?
insert into table my_table
with a as
(
select *
from ...
where ...
),
b as
(
select *
from ...
where ...
)
select
a.a,
a.b,
a.c,
b.a,
b.b,
b.c
from a join b on (a.a=b.a);
在我看来,展示我的意思的最好方法就是举一个例子:
我的问题是:
SELECT * FROM myTABLE WHERE myColumn IN ('a','b','c','d','a','a','b') ORDER BY myColumn ASC
其结果是:
一个
B
C
D
但我想让他们:
一个
一个
一个
B
B
C
D
有什么办法可以达到我的目标吗?
这是我的SQL查询:
select name,description
from wp_widget_custom
where name in ('hemel-hempstead','maidenhead',
'guildford','bromley','east-london','hertfordshire','billericay','surrey')
我得到的结果是这样的:
name description
hemel-hempste
我有两个查询,它们涉及两个相同的表(列名和所有内容都一样)。
Query1: "SELECT * FROM Notifications ORDER BY SUBSTR(DATE('NOW'), 0)>SUBSTR(DateToNotify, 0), SUBSTR(DateToNotify, 0)";
Query2: "SELECT * FROM NotificationsCron ORDER BY SUBSTR(DATE('NOW'), 0)>SUBSTR(DateToNotify, 0), SUBSTR(DateToNot
我有两张桌子(例如,最小化一点)
表1:客户
Id customerName
1 A
2 B
3 C
4 D
表2:订单
Id customerId productName
1 2 ABC
2 2 DEF
3 4 ABC
4 5 FGH
我想看到所有没有订单的顾客。类似于:
customerId
1
3
所以我试着
SELECT c.id as customerId
FROM customer_table c
LEFT JOIN order_table o
ON
我从多个表中得到一些主键值。我想检查它们是否存在于一个查询中。我尝试过这个查询。
select BR.id, AREA.id, HOUSE.id, TABLET.id, REGION.id, AC.id, SUPERVISOR.id
from BR, AREA, HOUSE, TABLET, REGION, AC, SUPERVISOR
where BR.id in (851) or AREA.id in (91) or HOUSE.id in (566) or TABLET.id in (896, 897, 898) or
我有一个简单的应用程序,它对SELECT语句的WHERE子句中的文字进行文本替换。我运行SqlParser.parseQuery()并对结果应用.getWhere()。 但是,对于以下查询,根节点不是SqlSelect,而是SqlOrderBy: select EventID, Subject
from WorkOrder
where OwnerID = 100 and Active = 1 and Type = 2
order by Subject 如果我们使用"group by“而不是"order by”,那么根目录就是一个SqlSelect。 这是有意为之的行为吗?
我希望将来自单个表的两个结果组合起来,但在union all附近得到不正确的语法。
SELECT
ID as 'ABC','1' as 'PQR','2' as 'XYZ', Total as 'LMN'
FROM
Employee
ORDER BY
ID
UNION ALL
SELECT
ID as 'ABC','1' as 'PQR','2' as 'XYZ', To
使用这样的查询(为清楚起见进行了简化):
SELECT 'East' AS name, *
FROM events
WHERE event_timestamp BETWEEN '2015-06-14 06:15:00' AND '2015-06-21 06:15:00'
UNION
SELECT 'West' AS name, *
FROM events
WHERE event_timestamp BETWEEN '2015-06-14 06:15:00' AND '2015-06-21 06:1
如果有谁能帮我的话,我被它深深打动了。
对不起,我的sql查询是:-
SELECT * FROM table ORDER BY FIELD(ID,1,5,4,3)
我想做的这个id 1应该是第一记录,id 5应该是第6记录,id 4应该是第11记录,id 3应该是第16记录,在mysql中有什么方法可以这样做吗?请帮帮我,
我在上组合两个密码查询时遇到了以下问题
查询:
MATCH (p1:Crew)-[r_pfq]->(fq:Crew)
WHERE fq.name IN ["Neo", "Morpheus"]
RETURN distinct(p1) AS person, count(r_pfq) AS friend_score, collect(fq.name) AS friends
ORDER BY friend_score DESC
LIMIT 10
效果很好,就像
MATCH (f:Crew)<-[r_fqf]-(fq:Crew)
WHERE fq.name I
我试图弄清楚如何得到一个动态输入集的交集。下面是一个非常简单的例子。
company_status表:
COMPANY | STATUS
----------------
Big | 1
Notused | 0
Small | 1
company_country表:
COMPANY | COUNTRY
-----------------
Big | CA
Big | US
Notused | CA
Notused | FR
Small | US
Small | IT
我想要的是国家之间的交汇点只适用于某些公司。
如果我只选