2015-09-03 6 views
-2

Я получаю ошибку в разделе partition. Пожалуйста, помогите мне. ОшибкаMySQL 'partition by':

Select Model_Name, 
    Case Model_Subtype 
     When 'Weight' then 'Static' 
     When 'Linked Account' then 'Dynamic' 
     When 'Flexible' then 'Dynamic' 
     Else 'Not Defined' 
    End as Model_Type, Security_Name, Market_Value,Weight, 
    Case When Weight = 0 And Market_Value= 0 Then 0 
    When Weight = 0 Then Cast(Market_Value/ nullif(SUM(market_Value) 
      OVER (Partition by Model_Name),0) AS Decimal (10,4)) 
     When Weight !=0 Then Weight/100 
    Else Weight End as Target_Weight, 
     vehicle.Vehicle_Name 
    from 
    OFF_PRODUCT_MODEL model  
Join OFF_PRODUCT_MODEL_TARGET target on target.Model_Id = model.Model_Id 
    Join OFF_PRODUCT_SECURITIES Sec on sec.Security_Id = target.Security_Id 
    left outer Join Offer_Back_End.tblStrategies Strategy on Strategy.Vestmark_Sleeve_Code = model.Model_Name 
    left outer join Offer_Back_End.tblVehicles vehicle On vehicle.Vehicle_Id = strategy.Vehicle_ID 
Where (Strategy.Active_Strategy is null or Strategy.Active_Strategy = 1) 

Err] 1064 - У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство , соответствующее версии вашего MySQL-сервера, для правильного синтаксиса для использования рядом с '(Partition by Model_Name), 0) AS Decimal (10,4)) When Weight! = 0 Then Weight /' at line 11

+0

MySQL не поддерживает разделение, как это, и мы не сервис код перевода. –

+0

MySQL не поддерживает предложение OVER(). –

+0

Я не думаю, что вопрос является дубликатом, потому что OP запрашивает * правильный * синтаксис для выполнения этой операции. –

ответ

4

Umm, OVER (Partition by Model_Name) - это аналитическая функция, которая MySQL, к сожалению, не поддерживает и не имеет их, и поэтому вы получаете указанную ошибку.

+0

Привет Рахул, Спасибо за ваш быстрый ответ. Не могли бы вы рассказать мне, как мне преобразовать предложение Over (Partition by Model_Name) в MySQL? Я ценю вашу помощь. – user60811

0

MySQL не поддерживает OVER() статья. В общем, функции Window не являются частью MySQL.

Однако вы можете эмулировать - пожалуйста, обратитесь к следующему ответу:

Смежные вопросы