在一个查询中可以这样做吗?例如,我有一个名为log的表,其中包含以下列: id、epoch、username、msg。
我需要搜索来自某个用户的消息,如下所示:
select * from logs where username = 'bob'
现在,我希望在一定的时间范围内从该消息中选择来自bob的所有消息。
我知道在PHP中使用for循环可以很容易地做到这一点,但是我必须使用mySQL。
我原本想做这样的事情:
select * from logs where FROM_UNIXTIME(epoch) between
(select FROM_UNIXTIME(epoch)
你能给from子句分配一个别名吗?像这样:
select a - b "Markup" from retail a, cost b;
编辑:对不起,我打得太快了,并试图将问题简化到没有任何意义的地步
我实际上想做的是使用别名来比较同一个表中两个发布日期之间的月份。以下是我发现的有效方法:
select distinct to_char(months_between((select distinct pubdate
from books3
是否有其他方法重写/改进此查询,尝试使用较少的错误,并在可能的情况下提高性能:
Select
(Select Sum(value) from table1
where code = 'B2'
and date between DATE '2017-01-01'
and DATE '2017-03-31')
+
(Select Sum(value) from table2
where code = 'B2'
and date between DATE
我有两张桌子: orders和orderProducts。它们都有一个名为'order_id‘的列。
orders有一个名为'date_created‘的列,ordersProducts有一个名为'SKU’的列
我要在日期范围内选择SKU。
到目前为止我的疑问是:
SELECT `SKU`
FROM `orderProducts`
INNER JOIN orders
ON orderproducts.order_id = orders.order_id
WHERE orders.order_id in (SELECT id FROM orders WHERE date_
表具有Low和High列。这些列包含范围。现在,我想要在这些列之间存在给定值时检索记录:
Low High
0450 0459
0760 0765
0460 0467
0360 0369
我要检索'0464'、'0365'、'0466'位于低值和高值之间的记录。
我必须检索它是否是一条记录
select *
from tablename
where '0465' between low and high
但是对于多个值,我希望是相同的
我有以下工作查询:
SELECT date, time, custom_id, Number
FROM traffic t
WHERE CONCAT(date, ' ', time) BETWEEN '01/06/2014 00:00' AND '01/10/2014 23:00'
AND Number =
(SELECT MAX(CAST(Number as smallint)) FROM traffic WHERE t.date = date and t.custom_id = custom_id)
ORDER BY date, CAST(
我有两个小SQL查询,我希望合并成一个查询,我最终将在存储过程中使用这个查询。我已经试过一个案子,如果没有,但无法使它起作用。下面是密码。我想要实现的是,第一列“Order计数”基于来自两个查询的where语句,而第二列“和数量”仅基于来自第二个查询的where语句。
select
COUNT(OO.ORNO) AS 'Count of Open Order Lines'
from OOLINE OO
join OOHEAD OH
on OO.CONO = OH.CONO
and OO.ORNO = OH.ORNO
where OO.ORST BETW
当我使用AND和OR执行具有多个列的LIKE MySQL查询时,查询中的过滤器结果停止工作,比如by Price 0和50000。如果我从LIKE语句中去掉OR,搜索就能正常工作。如何使用LIKE语句正确地搜索多个列? 下面是一个忽略Price的none工作语句的示例 SELECT *
FROM table
WHERE Price BETWEEN 0 AND 500000
AND class_id = 1
AND TotalSqFt BETWEEN 0 AND 999999999
AND Acres BETWEEN 0 AND 999999999
A
我想对Useractivities进行两个查询,一个是在工作时间内找到所有条目(mon-Fri-08-16),另一个是在这个时间段之外查找所有条目。
Useractivity.where('activity = ? AND created_at >= ? AND EXTRACT (HOUR from created_at) BETWEEN ? AND ?', 'login',Time.now.since(-7.days).to_date, 8,16).count
Useractivity.where('activity = ? AND creat
我有两张桌子。表A有3列: userid、开始日期和结束日期。带有事件和日期时间戳的表B。我想根据表A将表B汇总到开始日期和结束日期之间的日期时间。
select a.userid, count(distinct b.eventid) as events
from table a
inner join table b
on a.userid=b.userid
and b.datetime between a.starttime and b.endtime
group by a.userid
但蜂巢不喜欢这样..。我正在使用Hadoop HortonWorks。会很感激你的指导!
嗨,我想根据另一个表的两列之间的值从一个表中获取数据,下面的SQL应该解释我的目的:
SELECT * FROM TABLE 1 WHERE 1.FIELD1 BETWEEN
(SELECT 2.RANGE_FROM FROM TABLE 2) AND (SELECT 2.RANGE_TO FROM TABLE 2)
这是不起作用的,因为我收到了错误:
Error: SQL0811N The result of a scalar fullselect, SELECT INTO statement, or VALUES INTO statement is more than one row.
我正尝试在where子句中执行select操作。
基本上,我有许多用户,并尝试查看哪些是活跃的。活动表示他们记录了过去30天内的活动。但是,如果我将user表与activity表连接起来,则会得到重复的用户if (因为每个用户可能记录了多个操作)。
因此,我正在考虑将select放在where中,以检查每个用户是否至少有一个操作。
SELECT u FROM `users` u
where (
select count(*) FROM `user_activity` ua
where ua.user_id = u.user_id and ua.last_login between "2
试图运行一个执行三项任务的查询。我要它:
如果每个用户在完成工作的月份中都获得了(DateCompleted)Count数据库中的所有作业(如果是在当前月份中提交的话),则(Submitted)Count 获取当前用户在当前月份提交的所有作业(提交)
我有以下几点
SELECT
SUM(case when j.Progress = 5 and (DateCompleted between DATE_FORMAT(NOW() ,'%Y-%m-01') AND NOW() ) then j.Amount else 0 end) as Earned,
(SELECT COUNT
我只想得到状态=1条记录。但我的桌子上没有状态栏。所以我用的情况导出了这个值..。当..。然后是。但是,当我试图在where子句中使用case时,它会显示语法错误。
我的疑问
SELECT SQL_CALC_FOUND_ROWS *,
CASE
WHEN quantity > num_used AND (CURDATE() BETWEEN coupon_start_date AND coupon_end_date) THEN '1'
ELSE '0'
END AS STATUS
FROM
table_
我有一个以id、开始日期和结束日期作为参数的SQL。然后我对where子句限制的部分求和。然而,我还需要对同一列求和,该列不考虑数据参数,并计算特定驱动程序的总数。例如:
SELECT DISTINCT
PMTS.VolunteerId,
PMTS.ChargeRate,
SUM(
CASE [Type]
WHEN 418 THEN Amount
ELSE 0
END
) AS DriverMileage,
SUM(
CASE [Type]
WHEN 1000 THEN Amount
ELSE 0
END
) AS GPMileage,
SUM(
CASE [Type]
W
如何将其转换为信条QueryBuilder?
SELECT A.*
,(SELECT COUNT(created_on)
FROM event WHERE DATE=created_on) created
,(SELECT COUNT(updated_on)
FROM event WHERE DATE=updated_on) updated
FROM (
SELECT created_on DATE FROM event
UNION SELECT updated_on FROM event ) A
我当前正在尝试执行以下查询,但mySQL不支持它。
UPDATE `TABLE 1` SET `batchid`=1 WHERE `id`
IN (SELECT `id` FROM `TABLE 1`
WHERE `postcode` BETWEEN "3699*"
AND "3900*" AND `telstriplengte`='10' LIMIT 1);
我一直在摆弄连接,但似乎不能正确地处理它。我的问题是,是否有人能给我指出正确的方向。
作为hql的初学者,我有一个SQL查询,我正试图将它转换为HQL。
select * from (
select *
from CORRELATION_VUE
where film = v_oldidfilm and FILM2 not in (
select c.idfilm
from cotes c
where idclient = v_idclient)
order by CORRELATION des
是否可以使用同一表中的子查询进行更新?
我知道这个错误:
1093 -不能指定目标表“任务”以便在FROM子句中更新
update tasks SET completed_form = 'y' AND all_forms_in = 'y' where EID in (select EID from tasks WHERE completed_form = 'y' AND all_forms_in = 'n' group by EID having count(*) > 1);
更新
我发现,如果我在另一个选择中包装了查询,它
我要把桌子连起来
messages_between
用户
状态
我有这样的SQL:
SELECT messages_between.*, users.*, status.* FROM messages_between LEFT JOIN users ON users.uid = messages_between.user_2 LEFT JOIN status ON status.uid = messages_between.user_2 WHERE messages_between.user_1 =
这可能更容易首先用代码来解释,所以我目前正在使用如下所示的内容:
'A' in
(
SELECT DISTINCT b.col1
FROM table b
WHERE b.ky1 = a.ky1
AND b.ky2 = a.ky2
AND b.group = a.group
AND b.rowNum < a.rowNum
)
在where条款中。本质上,我试图查看A在外部查询指定的行之前的任何一点上是否是一个值。这是它自己的工作。问题是当
我希望基于WHERE子句选择记录,并在结果中包含一列,该列说明为什么每个记录都传递WHERE子句的筛选器。
有点像
SELECT name, location, networth, reason
FROM aTable
WHERE location = "France" OR networth > "100"
可能会回来
name|location|networth|reason --reason is the part I need help with
-----------------------------
Joe |France |0
好,假设我有一个连接查询,如下所示:
SELECT users.*
FROM users
LEFT JOIN votes ON (users.id = votes.userid)
GROUP BY users.id
HAVING count(votes.id) >= 0
ORDER BY count(votes.id) LIMIT 0,30
它从users中获取行,按照与它们有关系的votes表中的行数排序。
我的问题是:使用像WHERE votes.timestamp BETWEEN date_add(NOW(),INTERVAL -24 HOUR) AND NOW()这样的WHERE
示例mysql
SELECT * FROM listings WHERE (
1 IN (SELECT id FROM listings_x WHERE listings_x.type = listings.type) AND
2 IN (SELECT id FROM listings_x WHERE listings_x.type = listings.type) AND
3 IN (SELECT id FROM listings_x WHERE listings_x.type = listings.type) AND
)
是否有比多次执行相同select语句更好的方法?我还没有弄清楚这个方
(抱歉英语不好,技能差)你好!我有一个mysql数据库,其中包含四个列和一个cron作业作为脚本,它每10分钟请求一次用户状态。DataBase栏:
ID UID STATUS CHECK_AT
ID -只是一个序列号(1,2,3等等)。每当一个脚本向DB中写入某些内容时,这个数字就会增加。
UID -键值假设它是用户的ID。所有数据库包含大约3-5个不同的UID。
状态-值为1或0。假设1在线,0脱机。在线状态超时为10分钟。
CHECK_AT -脚本工作的时间和日期,如2013-10-01 00:30:01
逻辑:每10分钟脚本就会检查特定的UID(用其他表编写)是
使用下面的单元查询,我无法通过等式检查。
我有3张桌子,我想加入这张桌子。我尝试了如下,但得到了错误:
失败:语义分析中的错误:第3:40行在联接'visit_date‘中遇到左别名和右别名
select t1.*, t99.* from table1 t1 JOIN
(select v3.*, t3.* from table2 v3 JOIN table3 t3 ON
( v3.AS_upc= t3.upc_no AND v3.start_dt <= t3.visit_date AND v3.end_dt >= t3.visit_date AND v3
我有一个postgres表A,在该表中,我希望查询列中某个选定值之上和下面的n行。我已经实现了两个基本查询,如下所示
SELECT * FROM A
WHERE a >= 100
AND a <= 100+n
和
SELECT * FROM A
WHERE a <= 100
AND a >= 100-n
是否有办法将这两个查询合并为1,而不必定义两个单独的查询?
如何使用or进行查询
示例:
select * from people where eyes ="Blue" or eyes ="Green"
我使用Firestore,可以在"whereEqualTo"时制作,但我需要它。
我现在在Android中的代码是:
db.collection("people")
.whereEqualTo("eyes","Blue");
如何更新此BigQuery查询以允许分页的附加子句?
SELECT test.id, test.city, ROW_NUMBER() OVER () rownumber FROM prod.test LEFT OUTER JOIN prod.locations AS location ON (test.city = location.id)
WHERE active = true
AND rownumber BETWEEN 10000 AND 30000
由此产生的错误是:
无法识别的名称:行号