根据行值选择columnx小于多列的位置

时间:2014-08-18 14:07:20

标签: sql sqlite

我有一个如下所示的数据集:

ID Company   value1 value2 value3 value4 value5 value6
1  companyb  xxxx   xxxx   xxxx   xxxx   xxxx   xxxx
2  companyb  xxxx   xxxx   xxxx   xxxx   xxxx   xxxx
3  companyb  xxxx   xxxx   xxxx   xxxx   xxxx   xxxx
4  companya  xxxx   xxxx   xxxx   xxxx   xxxx   xxxx
5  companya  xxxx   xxxx   xxxx   xxxx   xxxx   xxxx
6  companya  xxxx   xxxx   xxxx   xxxx   xxxx   xxxx
7  companya  xxxx   xxxx   xxxx   xxxx   xxxx   xxxx
8  companyc  xxxx   xxxx   xxxx   xxxx   xxxx   xxxx

我想

select * 
from data_set 
where company="companyb" 
and value1 < value2, value3, value4, value5, or value6

在学习过程的下一步中,值列的名称与Company column中的值相同。我:value1名为companybvalue2名为companya。我可以获取公司价值低于至少一家其他公司的所有行吗?值?或者我是否必须逐个搜索每个公司?

1 个答案:

答案 0 :(得分:3)

如果您想检查一个值是否小于一组值的任何,只需与这些值中的最大值进行比较:

SELECT ... WHERE value1 < max(value2, value3, value4, value5, value6)