我有两列,一列是开始日期,另一列是结束日期。我需要找到两个日期之间的每一天。
需要在另一个有两个颜色的表中使用它,一个名称pno是指pno第一个表中的 id,另一个是在开始日期和结束日期之间的日期。
例如,这可能是我的输入
pno 开始日期 结束日期 p1 2012-12-03 2012-12-06 p2 2013-01-05 2013-01-08 p3 2013-01-15 2012-01-20
这必须是我的输出。
日期 ---------- p01 2012-12-03 p01 2012-12-04 p01 2012-12-05 p01 2012-12-06 p02 2013-01-05 p02 2013-01-06 p02 2013-01-07 p02 2013-01-08 p03 2013-01-15 ...
我试图选择 COLUMN 的值在 1 到 9 之间的所有行。问题是 COLUMN 的数据类型是文本,我使用以下代码来获取这些行:
SELECT * FROM TABLE WHERE COLUMN BETWEEN '1' AND '9';
Run Code Online (Sandbox Code Playgroud)
我不是获取 COLUMN 值在 1 到 9 之间的行,而是获取 COLUMN 值 10、11 等的行。我怎样才能让它只给我列值在 1 到 9 之间的行?
我有一个 php 变量。我想检查它是否位于 mysql 表任何行的两列值之间。但我不想将该变量与表的确切值匹配。即,独占 BETWEEN 子句。如果有人知道答案,请举例说明。谢谢。这是我的代码。
$var = '15:00:00';
//Mysql Table (datatype of columns are TIME)
first last
row1 13:00:00 15:00:00
row2 17:00:00 19:00:00
Run Code Online (Sandbox Code Playgroud) 当我的值在单词“PIC”和“.”之间时,我需要帮助创建一个正则表达式来获取括号之间的数字。
我得到了这个记录,需要能够在 () 之间提取值
PIC S9(02)V9(05). I need this result "02 05"
PIC S9(04). I need this result "04"
PIC S9(03). I need this result "03"
PIC S9(03)V9(03). I need this result "03 03"
PIC S9(02)V9(03). I need this result "02 03"
PIC S9(04). I need this result "04"
PIC S9(13)V9(03). I need this result "13 03"
Run Code Online (Sandbox Code Playgroud)
我尝试了以下但它不起作用。
s = "PIC S9(02)V9(05)."
m = re.search(r"\([0-9]+([0-9]))\", s)
print m.group(1)
Run Code Online (Sandbox Code Playgroud) if (!require("pacman")) install.packages("pacman")
pacman::p_load(tidyverse, lubridate)
# Example of sample dates - these are to be used to cross check if date exists within the range
Sample.Dates = tibble(
ID = "ID",
Round = 1:3,
Start.Date = dmy(c("03/12/2018","10/12/2018","17/12/2018")),
End.Date = dmy(c("09/12/2018","16/12/2018","23/12/2018")))
# Reference dates for a particular player - "John". Need to cross check the date against Sample.Dates and attach round, start and end date columns
Ref.Dates = tibble(
ID= "ID",
Date = seq.Date(ymd("2018-12-05"), ymd("2018-12-31") , by = "day"),
Player = …Run Code Online (Sandbox Code Playgroud) 我需要使用两个日期的范围在表中给出选择计数,但是我的日期采用“yyyy-MM-dd”格式,当我执行选择 SQL 时,它返回以下错误:
将 varchar 数据类型转换为 datetime 数据类型导致值超出范围
这是我正在使用的查询:
SELECT COUNT(*) AS score
FROM requests
WHERE date_em BETWEEN '2019-04-01' AND '2019-04-30'
Run Code Online (Sandbox Code Playgroud)
表结构
有人能帮我吗?
我有这个数据框。
df
name timestamp year
0 A 2004 1995
1 D 2008 2004
2 M 2005 2006
3 T 2003 2007
4 B 1995 2008
5 C 2007 2003
6 D 2005 2001
7 E 2009 2005
8 A 2018 2009
9 L 2016 2018
Run Code Online (Sandbox Code Playgroud)
我正在做的是基于 df['timestamp'] 中的前两个条目。我正在从这两个条目之间的 df['year'] 中获取所有值。在这种情况下是(2004-2008)。
y1 = df['timestamp'].iloc[0]
y2 = df['timestamp'].iloc[1]
movies = df[df['year'].between(y1, y2,inclusive=True )]
movies
name timestamp year
1 D 2008 2004
2 M 2005 2006
3 T 2003 2007
4 B 1995 …Run Code Online (Sandbox Code Playgroud) 想象一下,我有一个这样的字符串:
c x c x A c x c x c B c x c x
我想找到“A”和“B”之间的任何“c”字符。所以在这个例子中,我需要得到 3 个匹配。
我知道我可以使用前瞻和后视标记。所以我使用了这个正则表达式:
(?<=A).*c.*(?=B)
但它得到了 A 和 B 之间的所有刺痛:c x c x c作为一个结果。
如果我移除.*零件,将根本没有匹配项。
我有两个表需要加入...我想在'id'上加入table1和table2 - 但是在表2中,id不是唯一的.我只希望为表2返回一个值,并且此值表示在指定日期范围(比如一个月)内名为"total_sold"的列的总和,但是我同时想要多个日期范围...
SELECT ta.id, sum(tb.total_sold) as total_sold_this_week, sum(tc.total_sold) as total_sold_this_month
FROM table_a as ta
LEFT JOIN table_b as tb ON ta.id=tb.id AND tb.date_sold BETWEEN ADDDATE(NOW(),INTERVAL -1 WEEK) AND NOW()
LEFT JOIN table_b as tc ON ta.id=tc.id AND tc.date_sold BETWEEN ADDDATE(NOW(),INTERVAL -1 MONTH) AND NOW()
GROUP BY ta.id
Run Code Online (Sandbox Code Playgroud)
这可行,但不会对行进行求和 - 只为每个id返回一行...如何从表b中获取总和而不是只有一行?请批评问题的格式是否可以使用更多的工作 - 如果需要,我可以重写并提供样本数据 - 这是一个更大问题的平凡版本.
-谢谢
我试图找到如何遮蔽ggplot中由函数定义的两行之间的区域的可能性.我找到了一些使用geom_area或geom_ribbon的解决方案,但在这两种情况下,您都需要一个数据库,您可以在其中定义ymin和ymax.还有其他可能性吗?在定义ymin和ymax的方式中,也使用与行相同的函数?
这是我的例子:
myplot <- ggplot(data.frame(x=c(0, 100)), aes(x=x)) +
stat_function(fun= function(x)20*sqrt(x), geom="line", colour= "black", size= 1) +
stat_function(fun= function(x)50*sqrt(x), geom="line", colour= "black", size= 1)
myplot
Run Code Online (Sandbox Code Playgroud)
提前谢谢你的帮助.