Дата Sql выбирает строки в диапазоне X секунд друг друга

Как я могу перегрузить оператор Node вне структуры Node, но внутри MyStruct?

Вы не можете этого сделать. Любые операторы перегрузки, определенные вне Node и внутри MyStruct, рассматриваются как оператор перегрузки из MyStruct. Это где namespace отличается от struct.

Вы можете использовать:

struct MyStruct {
  struct Node {
    int a;
  };
};

MyStruct::Node operator+(MyStruct::Node const& A, MyStruct::Node const& B) {
   MyStruct::Node ret;
   ret.a = A.a + B.a;
   return ret;
}
6
задан Alec Smart 8 May 2009 в 09:35
поделиться

2 ответа

Этот скрипт работает в SQLServer. Вы должны быть в состоянии извлечь оператор select и запустить его в MySQL.

DECLARE @Messages TABLE (Message VARCHAR(10), Created DATETIME)
DECLARE @Interval FLOAT

-- Interval is 1 day.
SET @Interval = 1

-- These should be in result
INSERT INTO @Messages VALUES ('Message1', GetDate())    
INSERT INTO @Messages VALUES ('Message2', GetDate()-1)
-- These should not be in result
INSERT INTO @Messages VALUES ('Message3', GetDate()-3)
INSERT INTO @Messages VALUES ('Message4', GetDate()-5)

SELECT m1.Message, m1.Created
FROM @Messages m1
     INNER JOIN @Messages m2 ON m2.Created <= m1.Created + @Interval                                
                                AND m2.Created >= m1.Created
                                AND m2.Message <> m1.Message
UNION ALL SELECT m2.Message, m2.Created
FROM @Messages m1
     INNER JOIN @Messages m2 ON m2.Created <= m1.Created + @Interval                                
                                AND m2.Created >= m1.Created
                                AND m2.Message <> m1.Message
ORDER BY Created
7
ответ дан 17 December 2019 в 00:14
поделиться

Я полагаю, вы думаете, что это слишком сложно (но опять же, может быть, я неправильно понял требование?)

Выбирает все сообщения, созданные за 30 секунд до определенного сообщения:

0
ответ дан 17 December 2019 в 00:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: