Задавайте вопросы, мы ответим
Вы не зашли.
есть таблица приблизительно выглядит вот так:
name type value
name1 type1 4
name1 type2 1
name1 type3 7
name2 type1 5
name2 type2 1
name2 type3 6
name3 type1 4
name3 type2 3
name3 type3 7
name4 type1 5
name4 type2 1
name4 type3 7
нужно составить запрос что бы в результате получилось
name1 12
name2 12
name3 14
name4 13
числа это сумма значений value для type1 type2 type3
как это можно сделать одним запросом и можно ли?
Неактивен
SELECT `name`, sum(`value`) FROM `t` GROUP BY `name` ORDER BY `name` ASC
Отредактированно deadka (16.02.2012 00:33:10)
Неактивен
deadka написал:
SELECT `name`, sum(`type`) FROM `t` GROUP BY `name` ORDER BY `name` ASC
так sum нужно не type а value
Неактивен
а всё понял спасибо.
Неактивен
Да, поправил запрос. Правда все type'ы будут учтены в счете, то есть если есть еще другие type4, type5 и так далее, то и они посчитаются. Чтобы они не считались, можно так:
SELECT `name`, sum(`value`) FROM `t` WHERE `type` in ('type1', 'type2', 'type3') GROUP BY `name` ORDER BY `name` ASC;
Отредактированно deadka (16.02.2012 00:44:04)
Неактивен
Только, наверное, не "not in", а просто "in"
Неактивен
Да, Вы правы, просто in, пора мне спать .
Неактивен
deadka написал:
Да, поправил запрос. Правда все type'ы будут учтены в счете, то есть если есть еще другие type4, type5 и так далее, то и они посчитаются. Чтобы они не считались, можно так:
SELECT `name`, sum(`value`) FROM `t` WHERE `type` in ('type1', 'type2', 'type3') GROUP BY `name` ORDER BY `name` ASC;
о а я сделал where `type` = 'type1' || `type` = 'type2' || `type` = 'type3'
с in намного симпатичнее спс за подсказку
Неактивен
продолжение темы)
та же бд но теперь нужно что бы запрос выдавал 2 столбца
name value
где value это сумма значений value для type1 type2 type3 но value от type3 нужно поделить на 10.
по таблицы из первого поста должно получиться
name1 5,7
name2 6,6
name3 7,7
name4 6,7
или такие вещи лучше делать в несколько запросов а арифметику в программе?
Неактивен
и ещё вопрос, посоветуйте хорошую книгу где рассказывают именно про составление сложных запросов, оптимизацию таблиц.
а то везде только основы и историю sql разжёвывают.
Неактивен
Неактивен
tdrive написал:
и ещё вопрос, посоветуйте хорошую книгу где рассказывают именно про составление сложных запросов, оптимизацию таблиц.
а то везде только основы и историю sql разжёвывают.
Неактивен
большое спасибо
Неактивен