我想根据弧图中其他3列中的字符串值(字段计算器)创建一个条件列。让我们说
Column_1 = a,b,c,d
Column_2 = x,y,z,j,1,2
Column_3 = m,n,0,1,
那么,我在新列中期望的返回如下:
'I' if [Column_1 is 'a' or 'b'] and [Column_2 is 'j' or '1' or '2'] and [Column_3 is 'm' or 'n']
'II' if [Colu
我刚刚开始使用SQL,请原谅我的基本问题。我有两个。以下是相关代码:
SELECT column_1, column_2, COUNT(*) AS total
FROM table1
这个简单的查询显示了所有相同实例的一行。COUNT列将显示多个实例,但它只显示为一行。即使不算,也只有一排。如果我没有使用DISTINCT,为什么只有一行?如果没有不同,似乎所有相同的行都会单独出现。
*在计数中做什么。我知道它通常表示“全部”,但在这种情况下它会发生什么变化呢?
谢谢。
在SQLite中,有没有什么方法可以按照每一行中NULL值的数量进行排序,而不是显式地将这个数字存储在单独的列中? 就像这样 SELECT rowid FROM
(SELECT rowid, COUNT_NULLS(column_1,column_2,...,column_n) AS num_nulls FROM rows)
ORDER BY num_nulls;
我面临以下情况的问题:
I/P表:
Column_1 Column_2
A A
B B
C C
D D
交叉连接将为我提供以下结果
Actual O/P Value:
AA
AB--This combinati
on is Repeated
AC
AD
BA--This combination is Repeated
BB
BC
BD
CA
CB
CC
CD
DA
DB
DC
DD
预期的操作:
AA
AB
AC
AD
BB
BC
BD
CC
CD
DD
我不想重
我有下面的火花数据集/数据集。Column_2有字符串格式的日期。
Column_1 Column_2
A 2020-08-05
B 2020-08-01
B 2020-09-20
B 2020-12-31
C 2020-05-10
我的预期输出数据应该在column_1中每个值只有一行,如果column_2中有多个日期用于Column_1中的相同键,那么应该选择下一个可用日期。如果只有一行,则应保留日期。
预期产出:
Column_1 Column_2
A 2020-08-05
B 2020-0
我正在创建一个动态的where子句,但它的报告Error(40,51): PL/SQL: ORA-00905: missing keyword在column_2 in ('x','y','z'),这个错误也适用于其他运算符。
select *
from test_table
where column_1 = <Some_value>
and (case column_2
when 'A' then
column_2 in ('x','y',
我试图理解为什么在某些系统上,当我试图从varchar2列中选择一个值时,我会得到一个无效的数字错误消息,而在其他系统上,我在做完全相同的事情时却没有得到这个错误消息。
该表类似于:
ID Column_1 Column_2
1 V text
2 D 1
3 D 2
4 D 3
和一个查询:
select ID
from table
where column_1='D'
and column_2 = :some_number_value
:
我发现我的一个演示网站容易受到SQL注入的攻击(我目前正在做CEH)
发现的注入点如下:
SELECT column_1,column_2,column_3 from table_1 where column_4='3' order by id [*INJECTION POINT FOUND HERE*]
现在我需要制作一些东西来帮助我利用我发现的这个注入点。据我所知,联合选择不会在ORDER BY之后工作。但是,我确实认为盲目sql注入可能如下所示
SELECT column_1,column_2,column_3 from table_1 where column_4=
我一直在尝试将lambda函数应用到groupby之后的dataframe列中,但函数中有一个特定于每个组的条件。请参阅以下文件:
df.groupby('column_1')['column_2'].apply(lambda x: a if x == df.groupby('column_1')['column_3'] else x)
其目的是通过column_1对数据进行分组,并根据column_3 中同一组中的相应值更改column_2的值。
这是我得到的错误:“无效类型比较”
顺便说一下,column_2和column_3
假设我有一个疑问:
SELECT column_1, column_2 max(column_3) as max_column_3
FROM table_1
GROUP BY column_1, column_2
我感兴趣的是返回每一行的id,而不是只返回column_1,column_2 max(column_3)。当我尝试:
SELECT id, column_1, column_2 max(column_3) as max_column_3
FROM table_1
GROUP BY column_1, column_2
它给出了一个错误,因为在GROUP子句中没有表示id。请注意,(c
我有一个包含大约90k个字符串的列表,还有一个包含几个列的数据帧,我想检查列表中的字符串是否在column_1中,以及是否在column_2上分配了相同的值。
我可以这么做:
for i in range(len(my_list)):
item = list[i]
for j in range(len(df)):
if item == df['column_1'][j]:
df['column_2'][j] = item
但我宁愿避免嵌套循环。
我试过这个
for item in my list:
哪种SQL可以更快地验证特定列是否有空值,为什么?
1) SELECT * FROM TABLE1 WHERE COL1为NULL
执行此查询,然后检查您是否能够读取任何记录。如果是,则有空值。
2) SELECT COUNT( COL1 ) FROM TABLE1 WHERE COL1为空
读取返回的计数,以确定是否存在任何空记录
使用Oracle10g和SQLServer2005。
我有一个功能,其中用户可以选择table(only one at a time)和基于该table columns将出现。用户可以选择多列,所以我想要的是,当用户选择列(S),那么它应该返回所选列的结果。现在,根据我的表,如果用户选择Colum_1 which has unique values,那么我将允许用户选择该列,但如果用户选择Column_2,我将通过说“选择另一列或多列”来提示消息,然后在后台为这些选定的列创建组合。
示例:
Table name = `TestTable`
Column_1 Column_2 Column_3
-------- -------- -------
我有一个需要转换的数据框架。我需要根据列的值将行更改为唯一的列。
例:
输入DataFrame
| column_1 | column_2 |
-----------------------
| A | B |
| A | C |
| B | E |
| B | C |
| C | F |
| C | G |
输出DataFrame
| column_1 | column_2 | column_3 |
-------------
我需要按一列查找记录,但是如果没有记录,我需要通过另一列搜索,但是第一列有优先顺序。
考虑设想情况:
find records matching column_1
if no records matching column_1, find records matching column_2
if records matching column_1 found, find the subset which also match column_2
如何构造这样的查询?
我的代码是:
DECLARE @cols AS NVARCHAR(MAX)
SET @cols = STUFF((SELECT distinct ',' + QUOTENAME(c.column_3)
FROM table_c c
where Code = 123
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
exec('SELECT column_
该表由列column_1、column_2和column_3组成。
给定一组字符串值(string1,string2,...字符串10)我必须创建一个查询来返回包含string1或string2或...的所有行或column_1或column_2中的string10。
如果有人建议为给定的问题编写适当的查询语句,我将不胜感激。
首先,我创建了一条语句
"SELECT .... FROM ... WHERE column_1 = string1 OR column_2 = string1 OR column_1 = string2 OR column_2 = string2 OR ...
需要编写一个sql来根据组合条件从表中过滤记录。如果column_1为"A“且column_2为"100”,或者如果column_1为"B“且column_2为"200”,则显示记录
select *
from tableTmp
where
name="student"
and ((column_1="A" and column_2 = "100") OR (column_1="B" and column_2 = "200"))
当第一个条件不存在时,它将
运行以下表单的查询需要超过60秒的时间。
SELECT *
FROM View_A
WHERE ( Column_1 IN (SELECT Column_1 FROM View_B WHERE Column_2 = 'my_test_value' OR Column_3 = 'my_test_value'))
使用临时表,批处理在不到1秒内返回相同的结果。
SELECT Column_1
INTO #temp1
FROM View_B
WHERE Column_2 = 'my_test_value' OR Column_3 = 'my_
我对Postgres查询有一点复杂的要求。我想通过一个自定义表达式进行分组:
SELECT column_1, column_2, column_3 aggregate_function(column_4)
FROM tbl_name
GROUP BY custom_field
在自定义字段中,如果column_3为空,则需要column_1+column_2,否则为column_3。这是因为一些数据将column_3拆分为column_1和column_2。字段column_1、column_2和column_3为VARCHAR.
有什么建议吗?
我有3M行的数据。我想要创建一个掩码,它返回3列具有同等价值的行和值的索引。
我认为这应该有效:
mask = df.loc[ df['column_1'] == df['column_2'] & df['column_2'] == df['column_3'] & df['column_1'] == df['column_3'] ]
但是我得到了the truth value of a series is ambiguous
我试过了,但是得到了同样的错误:
mask = df