2012-01-18 6 views
5

У меня есть два поля типа int lap_time_1 и lap_time_2. Есть ли запрос mysql для выбора записей, чья разница (абсолютное значение) между кругом 1 и кругом 2 больше 30?Как выбрать записи, если абсолютное значение разницы между двумя значениями, если оно превышает определенное число?

ответ

9

Это предполагает, что lap_time_1 и lap_time_2 представляют собой два столбца, и данные хранятся в одной строке.

SELECT * 
FROM YourTable 
WHERE ABS(lap_time_1 - lap_time_2) > 30 
+0

+1 за то, что первый. –

2

Довольно прямо. Я сделал то же самое, чтобы рассчитать относительное расстояние точки продажи к клиенту.

select * from <table> where abs(field1 - field2) > 30 
3

У MySQL есть абсолютное значение (ABS) mathematical function. Таким образом, вы могли бы сделать что-то вроде этого:

SELECT * 
FROM lap 
WHERE ABS(lap_time_1 - lap_time_2) > 30; 
3
SELECT * 
FROM MyTABLE 
WHERE ABS(lap_time1 - lap_time2) > 30