我有一张类似下面的表
column1 | column2 | column3 | column4
43 12 1 132
显然,'column4'具有最高价值。所以我的目标是检索这个专栏。
欲望结果:
column4
132
答案 0 :(得分:6)
尝试使用GREATEST()函数:
SELECT GREATEST(column1, column2 colum3, column4)
FROM table
答案 1 :(得分:5)
如果您想要列名:
select greatest(column1, column2, column3, column4) as biggestval,
(case when column1 = greatest(column1, column2, column3, column4) then 'column1'
when column2 = greatest(column1, column2, column3, column4) then 'column2'
when column3 = greatest(column1, column2, column3, column4) then 'column3'
when column4 = greatest(column1, column2, column3, column4) then 'column4'
end) as biggestval_columnname
请注意,如果任何列的值为NULL
,则无效。
答案 2 :(得分:0)
试试这个:
SELECT
CASE
WHEN column1 >= column2 AND column1 >= column3 THEN column1
WHEN column2 >= column1 AND column2 >= column3 THEN column2
WHEN column3 >= column1 AND Date3 >= column2 THEN column3
ELSE column1
END AS TopColumn
没有SQL标准功能可以满足您的要求
答案 3 :(得分:0)
将您的值存入数组并使用函数PHP MAX,试试这个
$sql = 'SELECT column1, column2, column3, column4 FROM table';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$t_number=array();
$i=0;
while($data = mysql_fetch_assoc($req)){
$t_number[$i]=array(
$data['column1'],
$data['column2'],
$data['column3'],
$data['column4']
);
$maxValue=max($t_number[$i]);
echo $maxValue;
$i++;
}