|
|
|
|
|
для: Граон
(06.01.2007 в 16:22)
| | Как-то так... Хотя и изврат редкостный.
SELECT dat, sum(usr), sum(odr) FROM
( SELECT COALESCE(DateRegister, DateOrder) as dat, UserID is NOT NULL as usr, OrderID is NOT NULL as odr
FROM tblUser OUTER JOIN tblOrder ON DateRegister=DateOrder) AS tb
GROUP BY dat
|
| |
|
|
|
|
|
|
|
для: Граон
(06.01.2007 в 21:02)
| | Что то сдается мне, что одним запросом никак...
Проще всего сначала вычислять например сколько было заказов по дням, а потом сколько юзеров а потом обьединить эти два результата при помощи пхп. Например так:
<?
mysql_connect("localhost", "root", "");
mysql_select_db("test");
$orders = array();
$users = array();
$query = mysql_query("SELECT dateOrder as date, COUNT(orderID) as orders FROM tblorder GROUP BY dateOrder");
while($fetch = mysql_fetch_assoc($query)) { $orders[] = $fetch; }
$query = mysql_query("SELECT dateRegister as `date`, COUNT(userID) as `users` FROM tbluser GROUP BY dateRegister");
while($fetch = mysql_fetch_assoc($query)) { $users[] = $fetch; }
$tmp = array_merge($orders, $users);
$result = array();
for($i = 0; $i < count($tmp); $i++)
{
if(isset($tmp[$i]['orders']))
{
$result[$tmp[$i]['date']]['orders'] = intval($tmp[$i]['orders']);
}
else
{
$result[$tmp[$i]['date']]['users'] = intval($tmp[$i]['users']);
}
}
echo "<table border=\"1\">";
echo "<tr><td><b>Дата</b></td><td><b>Заказы</b></td><td><b>Пользователи</b></td></tr>";
foreach($result as $date => $stat)
{
echo "<tr><td>{$date}</td><td>".intval($stat['orders'])."</td><td>".intval($stat['users'])."</td></tr>";
}
echo "</table>";
?>
|
| |
|
|
|
|
|
|
|
для: Евгений Петров
(06.01.2007 в 16:28)
| | Дамп выложен. | |
|
|
|
|
|
|
|
для: Граон
(06.01.2007 в 16:22)
| | Выложите дамп, чтобы было на чем проверить | |
|
|
|
|
|
|
| Вообщем, помогите кто с запросиком к БД!
Есть таблички
tblUser: - таблица содержит пользователей и дату их регистрации
UserID (Формат INT)
DateRegister (Формат Date)
tblOrder: - таблица содержит заказы на пользователей и дату заказа
OrderID(INT)
UserID(INT)
DateOrder(Date)
|
Нужно сформировать отчет который бы выглядил так:
Дата Число зарегестрированных юзеров Число заказов на юзеров
01.02.2007 12 6
02.02.2007 10 5
Вообщем группировка по Дате, как для одной таблицы сделать это я знаю а вот как для двух? | |
|
|
|
|