URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5952
[ Назад ]

Исходное сообщение
"Выборка из результата др. выборки в MySQL"

Отправлено Flex25 , 25-Ноя-06 02:23 
Я хочу в MySQL сделать следующее:
1. Произвести выборку (select) с какими-то параметрами
2. Взять результат этой выборки и из него (а не из таблицы) снова произвести новую выборку с помощью select.

Как все это можно сделать в MySQL? Причем нужно это сделать именно на стороне сервера БД, а не клиента.

Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Выборка из результата др. выборки в MySQL"
Отправлено mummy , 25-Ноя-06 10:39 
Вариант такой: произвести выборку (select) во временную таблицу mysql

CREATE TEMPORARY TABLE MyTemporaryTable SELECT * FROM MyRealTable WHERE id<10;


"Выборка из результата др. выборки в MySQL"
Отправлено madskull , 25-Ноя-06 22:45 
>Вариант такой: произвести выборку (select) во временную таблицу mysql
>
>CREATE TEMPORARY TABLE MyTemporaryTable SELECT * FROM MyRealTable WHERE id<10;

mysql (не скажу с какой версии) поддерживает select ... from (select ...).
Так что читайте маны.


"Выборка из результата др. выборки в MySQL"
Отправлено perece , 27-Ноя-06 12:03 
>>Вариант такой: произвести выборку (select) во временную таблицу mysql
>>
>>CREATE TEMPORARY TABLE MyTemporaryTable SELECT * FROM MyRealTable WHERE id<10;
>
>mysql (не скажу с какой версии) поддерживает select ... from (select ...).
>
>Так что читайте маны.
ну... не везде же последний мускуль (а версии это появилось, помойму, с 5й)

ОП: а view создать - не катит?

\^P^/


"Выборка из результата др. выборки в MySQL"
Отправлено Dethman , 06-Дек-06 10:21 
Согласен про маны :)
не знаю то ли это что нужно но дам скрипт который у меня трафик на юзверей считает
табла chap: id,user,ip
табла flow: time,src,dst,size
+ в таблах мусор каторый тут не видно

SQL_FLOW_TABLE="flow"
SQL_USER_TABLE="chap"

SQLD="(select ceil(sum(size)/1000000) from $SQL_FLOW_TABLE where ip=dst and time>$START and time<$STOP)"

SQLU="(select ceil(sum(size)/1000000) from $SQL_FLOW_TABLE where ip=src and time>$START and time<$STOP)"

SQL="select user,$SQLD as download, $SQLU as upload from chap;"

я думаю смысл понятен ? это кусок шел скрипта где формируется запрос :)