|
|
|
| Добрый день!
есть таблица:
create table pictures (
picture_id int not null auto_increment PRIMARY KEY,
picture_width int not null,
picture_row int not null default '1',
picture_page int not null
);
|
необходимо составить такой запрос:
Выбрать сумму значений столбца picture_width в строках в которых максимальное значение столбца picture_row с максимальным значением столбца picture_page.
SELECT SUM(picture_width) as total WHERE ... условие
|
| |
|
|
|
|
|
|
|
для: mastergrom
(25.08.2008 в 16:28)
| | > максимальное значение столбца picture_row с максимальным значением столбца picture_page.
вот это непонятно.
Либо поясняйте, либо приводите пример. | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 17:44)
| | например есть записи:(picture_id picture_width picture_row picture_page)
1 30 1 1
2 140 1 1
3 245 2 1
4 140 2 1
5 60 1 2
6 79 1 2
7 200 2 2
9 137 1 3
10 13 1 3
11 50 2 3
12 300 2 3
При запросе должно выводится SUM(picture_width) 11го и 12го picture_id так как значение picture_page у них максимальное и picture_row тоже ... То есть у строк 9 и 10 значение picture_page тоже максимальное но значение picture_row меньше чем у строк 11 и 12. | |
|
|
|
|
|
|
|
для: mastergrom
(25.08.2008 в 18:36)
| |
SELECT SUM(a.picture_width) AS res
FROM pictures a
WHERE picture_page = ( SELECT MAX(b.picture_page) FROM pictures b)
AND picture_row = ( SELECT MAX(c.picture_row) FROM pictures c)
|
Есть еще вариан с JOIN , но вышеприведенный должен по идее быть быстрее | |
|
|
|