Как выполнить SQL-запрос, который вернет имя человека, когда вес превышает определенное значение?

#mysql #sql

Вопрос:

У меня есть строка таблицы, и я хочу знать, как написать SQL-запрос, который вернет имя человека, когда вес достигнет более 1000.

 create table line(
id int not null PRIMARY KEY,
name varchar(255) not null,
weight int not null,
turn int unique not null,
check (weight > 0));
 

Это то, что у меня есть до сих пор, это должно вернуть все строки до того, как мы достигнем 1000, но я хочу видеть только имя человека, который появится после того, как мы достигнем этого.

 SELECT t1.* 
FROM 
  line AS t1 
LEFT JOIN line AS t2 
  ON t2.id = t1.id 
WHERE t1.id  > 1 
GROUP BY t1.id, t1.weight, t1.turn
HAVING COALESCE(SUM(t2.weight),0) < 1000;
 

Комментарии:

1. «…человек, который придет после того, как мы достигнем этого…» — строки таблицы не имеют внутреннего порядка. Вам нужно будет определить, как запрос должен учитывать, что строка находится до или после другой.

2. Изменить SELECT t1.* на SELECT t1.name

3. Вам нужно только одно значение? Например, имя человека, где вес == 1001?