#sql #sql-server #sql-server-2008 #group-by
#sql #sql-сервер #sql-server-2008 #сгруппировать по
Вопрос:
Как мне получить :
ID Value
99-07-06-01 1
99-07-06-02 2
99-07-06 3
99-07-08-01 4
99-07-08-02 5
99-07-08 6
to
ID Value
99-07-06 6
99-07-08 15
то есть я хотел сгруппировать по идентификатору [99-07-0x] при суммировании.
Спасибо
Комментарии:
1. Как вы получили C amp; F, насколько я вижу, значение равно СУММЕ?
2. Извините, C amp; F следует удалить.
Ответ №1:
Попробуйте это (как MySQL, так и MS-SQL):
SELECT LEFT(ID, 8) AS nID,
SUM(Value) AS tot
FROM your_table
GROUP BY LEFT(ID, 8)
Комментарии:
1. У меня создалось впечатление, что вы не можете сгруппировать по псевдониму в MS-SQL .. ?
2. @Gibron: можно использовать и другие конструкции: вложенный запрос или использование
GROUP BY LEFT(ID, 8)
3. @Gibron: честно говоря, я не уверен, но я отредактировал свой пост, чтобы отразить ваше предложение. Большое спасибо 🙂