我有一个已知的数字x和几个命名的列(ix,col1,col2,col3),需要从每行(不一定是同一列)的col1,col2或col3中选择一个值,其中总数加起来就是已知的数字x。我很难弄清楚这件事的逻辑。
但是,我不能在sum语句中使用*,而且可能会返回来自每列的多个结果(尽管在不同的行中)。所以我不能选择col1,col2,col3等
您可以运行多个select语句,并每次指定不同的条件。
SELECT FirstColumn,
SecondColumn
FROM [Table]
WHERE FirstColumn + SecondColumn = x
UNION
SELECT SecondColumn,
ThirdColumn
FROM [Table]
WHERE SecondColumn + ThirdColumn = x
UNION
SELECT FirstColumn,
ThirdColumn
FROM [Table]
WHERE FirstColumn + ThirdColumn = x
或者使用case...when
,并根据条件进行筛选以忽略空结果。case
返回单个结果,因此需要重复case条件以返回不同的列:
SELECT CASE
WHEN FirstColumn + SecondColumn = x THEN FirstColumn
WHEN SecondColumn + ThirdColumn = x THEN SecondColumn
WHEN FirstColumn + ThirdColumn = x THEN FirstColumn
END AS FirstMatch,
CASE
WHEN FirstColumn + SecondColumn = x THEN SecondColumn
WHEN SecondColumn + ThirdColumn = x THEN ThirdColumn
WHEN FirstColumn + ThirdColumn = x THEN ThirdColumn
END AS SecondMatch
FROM [Table]
WHERE FirstColumn + SecondColumn = x
OR SecondColumn + ThirdColumn = x
OR FirstColumn + ThirdColumn = x
问题内容: 表格如下: 我想获取班级列表,以及每个班级-属于每个班级的学生人数。我怎样才能做到这一点? 问题答案: 您需要这样做-
问题内容: 我有一个生成的DataFrame,如下所示: 结果如下: 如您所见,DataFrame按升序排列,然后按降序排列。 我想选择每个组的第一行,即 从小时== 0的组中选择(0,cat26,30.9) 从小时= 1的组中选择(1,cat67,28.5) 从小时== 2的组中选择(2,cat56,39.6) 等等 因此,所需的输出将是: 能够选择每个组的前N行也可能很方便。 任何帮助都将受到
问题内容: 我有一个表的列,,,使得 给我下表 我将如何获得每个x,y组的第一行?也就是说,我将如何获得下表 这是第二个示例:对于这样的表T 我期望得到 问题答案: 考虑到SQL 2005或更高版本:
问题内容: 我有2个表,一个包含我需要的最终结果,另一个包含我需要根据设定级别选择的列列表。 例如 : 所以,如果我做以下 然后,基本上我需要使用此select语句中的列名来确定从另一条语句中选择了哪些列。 香港专业教育学院尝试过的方法,我当然知道这是错的,但可以让我对我试图做的事情有所了解。 我试图以一种动态方式构建一个sql查询,该查询可以通过我放在表中的任何列进行更改。 从理论上讲,这应与以
假设我有一个spark数据帧,有几列(其中列)和数据帧,有两列:和。 是否有复制以下命令的方法
我正在尝试使用Puppeteer选择下拉列表中的第一个元素。问题是,选项的值在每次测试中都会更改,所以我不能根据该值选择选项,除非我能够首先检索到该值。 当前使用: 这将选择该选项,但是必须单击下拉项才能提交表单(我无法控制此操作)。 此外,我还尝试使用木偶键盘命令向下箭头并按回车键,但由于某种原因,该功能不起作用。