2017-09-01 3 views
2

私はsqlのnullとnumberの最大値をnullにするにはどうすればよいですか?

SELECT `over_all`.`team_number`, 
     max(`over_all`.`day_1`) as 'maximum' 
FROM `over_all` 
GROUP BY `over_all`.`team_number` 
ORDER BY 'maximum' 

質問使うとき

INSERT INTO `over_all` (`team_number`, `day_1`) VALUES 
('J091', '01:00:00'), 
('J091', '01:02:00'); 

INSERT INTO `over_all` (`team_number`, `day_1`) VALUES 
('J092', 'null'), 
('J092', '02:02:00'); 

が今のように挿入された2つの列と値を持つサンプルのSQLテーブルを考えてみましょう:

を、私は、これはの最大値を返すようにしたいですJ092としてヌル

DATABASE使用し

Serverバージョン:10.1.25-MariaDB - mariadb.orgバイナリディストリビューション

+0

エイリアスを 'WHERE'または' GROUP BY'で使用することはできません。 –

+0

あなたの質問は「私はこれがJ092の最大値をヌルとして返すようにしたい」という意味を明確にしていません。 ?期待される結果を表形式で示す – scaisEdge

答えて

2

あなたはCASE WHEN ... THEN ... ELSE ... ENDを使用してそれを行うことができます。

SELECT team_number, 
    case when max(day_1 is null) = 0 then max(day_1) else null end as maximum 
FROM over_all 
GROUP BY team_number 
ORDER BY maximum 

こちらを試してください:http://sqlfiddle.com/#!9/101143/2/0

関連する問題