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行,知道我哪里错了。请帮帮忙
我希望使用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
我正在使用NamedParameterJdbcTemplate运行我的查询。该查询类似于:
SELECT id, desc FROM tableA WHERE id IN (:custIds);
现在,我正在调用一个web服务,它正在返回一个ids列表。因此,我使用NamedParameterJdbcTemplate将I列表映射到"custIds“。但是,当I列表超过1000个时,我遇到了一个问题。我已经读到DB将不能处理包含超过100或1000的IN。
由于我仅限于接收ids列表,您能建议除NamedParameterJdbcTemplate之外最好使用什么吗?
我写了一个查询,显示每个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
我有一个要求,我打算从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
我在上组合两个密码查询时遇到了以下问题
查询:
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
我尝试从不同的表中进行多个select操作,并且只在一列中有一个结果。
SELECT COUNT(*) FROM tb1 union
SELECT COUNT(*) FROM tb2 union
SELECT COUNT(*) FROM tb3;
输出应如下所示:
593643
18103600
0
这样做的问题是结果是按desc顺序排列的。如下所示:
0
593643
18103600
我希望结果与我放入select语句时一样。请给我建议。顺便说一句,我使用的是teradata。谢谢。
我的问题是根据数据库创建的年份和月份从数据库中选择记录的计数。我有一个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
我尝试将不同的资源与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
我有两个查询要附加到MySQL中。我发现UNION可以帮助我做到这一点,但它并不完美,因为它没有保留每个附加查询的顺序。简而言之,我想这样做:
(SELECT name,city FROM people WHERE xxx ORDER BY yyy)
UNION
(SELECT name,city FROM people WHERE zzz ORDER BY www)
但是,当存在UNION时,SQL不会在ORDER语句上执行
一种解决方案是向每个子查询添加一个假字段,并首先按该字段排序:
(SELECT name,city,'0' as bogus FROM people
我试图获得一个硬编码事件的列表,并加入一个包含实际事件的表中,这样我就可以看到它们是否被执行了。
以下是我的疑问:
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
我使用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
我有一个包含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
下面是解释查询:
有人能指出我做错了什么吗?也许我漏掉了什么。在这么小
如何将包含有联合的查询生成的值收集到对象表中,如下所示
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
我需要将数据从第8行复制到另一个工作表(工作表2)。我只需要复制其他单元格,它应该从所有单元格IK8中复制单元格C8(值所在的第一个单元格)、E8、G8、I8等等。
有没有办法做到这一点?我已经在for循环中尝试了step函数,但它不起作用,并且只选择一个cell.It仅为单元格H2:H130粘贴一个值。
Sub Workplace()
Dim rng As Range
Dim LastRow As Long
Dim I As Long
LastRow = Worksheets("Questions").Range("C" & Rows.Count)
我试试看:
CREATE VIEW ALL_urls AS
SELECT * FROM TABLE1_urls
UNION ALL
SELECT * FROM TABLE2_urls
UNION ALL
SELECT * FROM TABLE3_urls
UNION ALL
SELECT * FROM TABLE4_urls
但是当我在"information_schema“中搜索时,我得到了这样的信息:
IS_UPDATABLE
NO
你知道怎么才能“更新”吗?
如何将两个不相关的表合并为一个SQL select语句请求。但是,两个表都需要有Match和and函数才能进行全文搜索。我得到了一个空的响应,当我执行一个表SQL匹配并针对请求时,它工作得很好,但当我执行两个表时就不行了。
表一:传输唯一的id是一个主键整数auto_increment,但其余的是varchar
+----+---------+-----------+--------------+
| id | title | type | tags |
+----+---------+-----------+--------------+
我正在尝试简单地“联合”12个表的所有行。所有表加在一起,有115行。但是,如果我运行下面的查询,当使用'explain‘以及mysql-slow.log中的一个条目被设置为'log-queries-not- using -indexes’时,我会得到以下结果:
Rows_sent: 115 Rows_examined: 1008
我有点迷惑为什么mysql要检查1008行,而它所要做的就是将所有行连接在一起(好吧,“联合”)。如有任何提示或指示,将不胜感激。
下面是查询:
(SELECT id, var_lng_1, 0 as tbl_col FROM tbl1 )
UN
我的代码选择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'
当内部连接两个表时,结果本质上是“或”驱动的。例如,如果我有一张父母和孩子的桌子,我想知道那些有红色或金色头发的孩子,我会写这样的东西:
SELECT parent.parent_name
FROM parent
INNER JOIN child
ON parent.parent_ID = child.parent_ID
WHERE child.hair = blond OR child.hair = red
这会告诉我所有有红头发或金发孩子的父母。如果我想知道至少有一个红发孩子和至少一个金发孩子的父母,我会写些什么?记住,标准可能会随着时间的推移而改变--明天我可能想知道黑色、红色、黄色、金
所以,当我运行这个查询时,我创建了数字,并以错误的顺序返回,我不知道为什么。
SELECT ones.num + tens.num + 1
FROM
(SELECT 0 num UNION ALL
SELECT 1 num UNION ALL
SELECT 2 num UNION ALL
SELECT 3 num UNION ALL
SELECT 4 num UNION ALL
SELECT 5 num UNION ALL
SELECT 6 num UNION ALL
SELECT 7 num UNION ALL
SELECT 8 num UNION ALL
我正在移动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
下面的两个查询都是单独工作的,但当被Union子句联接时就不能工作。它不是列出最近的4个日期和去年相同的4个日期,而是返回表中最近的4个日期,然后是最旧的4个日期。 查询1 SELECT DISTINCT TOP 4 [Week Ending]
FROM [DataFormat]
ORDER BY [Week Ending] DESC; 查询2 SELECT DISTINCT TOP 4 [Week Ending]
FROM [DataFormat]
WHERE [Week Ending] < DateAdd('yyyy',-1,(SELECT MAX([Week En
在对特定记录执行SELECT操作时,是否可以保持WHERE子句的顺序?
例如,给定以下SELECT语句:
SELECT [RecSeq] FROM [MyData] WHERE
[RecSeq]=3 OR [RecSeq]=2 OR [RecSeq]=1 OR [RecSeq]=21 OR [RecSeq]=20 OR
[RecSeq]=19 OR [RecSeq]=110 OR [RecSeq]=109 OR [RecSeq]=108 OR
[RecSeq]=53 OR [RecSeq]=52 OR [RecSeq]=51;
我希望返回的结果是:
3
2
1
21
20
19
110
1