Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Помогите с запросом

Сообщения:  [1-8] 

 
 автор: gurza   (05.05.2010 в 01:39)   письмо автору
 
   для: root   (05.05.2010 в 01:00)
 

Спасибо вам большое

  Ответить  
 
 автор: root   (05.05.2010 в 01:00)   письмо автору
 
   для: Trianon   (05.05.2010 в 00:52)
 

>CONCAT нужно просто внутрь GROUP_CONCAT поставить, а не наоборот.

да, я подумал, нужно общую сумму..
CAST(CONCAT(ip, '-', hits) AS CHAR),
инче вернёт blob..

  Ответить  
 
 автор: Trianon   (05.05.2010 в 00:52)   письмо автору
 
   для: gurza   (05.05.2010 в 00:38)
 

CONCAT нужно просто внутрь GROUP_CONCAT поставить, а не наоборот.

Была хотя бы малейшая причина какая-то растягивать текст запроса в одну строку?!!

  Ответить  
 
 автор: gurza   (05.05.2010 в 00:38)   письмо автору
 
   для: root   (04.05.2010 в 22:18)
 

Почемуто данные хит приписываются только к последнему ип


$sql = "SELECT *,DATE(data) dt, SUM(hits) hit, CONCAT(GROUP_CONCAT(DISTINCT ip SEPARATOR ';'), '-', hits) ips FROM ".$prefix."_stats_data WHERE DATE(data) < DATE(NOW()) GROUP BY dt";
     $res = $db->sql_query($sql);
     $count = $db->sql_numrows($res);
     $hits = 0;
     
     
     if ($count != 0)
     {
       while($row = $db->sql_fetchrow($res)) 
       {
       
          
       
          echo "('NULL', '".$row["data"]."', '".$row["ips"]."', '".$row["hit"] ."') <br>";
       
       
       }
     
     }



результат работы



('NULL', '2010-05-01', '1294386103-2', '2') 
('NULL', '2010-05-02', '1294386102;1294386105-4', '11') 
('NULL', '2010-05-03', '1294386103;1294386102;1294386105;1294386106-2', '15') 

  Ответить  
 
 автор: root   (04.05.2010 в 22:18)   письмо автору
 
   для: gurza   (04.05.2010 в 22:00)
 

INSERT INTO archive (`data`, `ips`)
  SELECT DATE(data) dt, CONCAT(GROUP_CONCAT(DISTINCT ip SEPARATOR ';'), '-', SUM(hits))
    FROM tbl_name
    WHERE DATE(data) <> DATE(NOW())
    GROUP BY dt

  Ответить  
 
 автор: gurza   (04.05.2010 в 22:00)   письмо автору
 
   для: gurza   (04.05.2010 в 16:34)
 

спасибо работает
а если добавить в таблицу поле hits

Пример
id | ip | data|hits
1 | 1294386103 | 2010-05-04|45
2 | 1294386104 | 2010-05-04|33
3 | 1294386104 | 2010-05-04|44
4 | 1294386103 | 2010-05-03|22



и записать в таблицу архива в таком виде

data | ips
2010-05-02 |1294386104-22;1294386103-33
2010-05-03 |1294386104-44;1294386103-34
2010-05-04 |1294386104-55;1294386103-56

  Ответить  
 
 автор: root   (04.05.2010 в 17:45)   письмо автору
 
   для: gurza   (04.05.2010 в 16:34)
 

INSERT INTO archive (`data`, `ips`)
  SELECT DATE(data) dt, GROUP_CONCAT(DISTINCT ip SEPARATOR ';')
    FROM tbl_name
    WHERE DATE(data) <> DATE(NOW())
    GROUP BY dt

  Ответить  
 
 автор: gurza   (04.05.2010 в 16:34)   письмо автору
 
 

Суть такова есть таблица в ней записываются ип адреса и даты
Пример
id | ip | data
1 | 1294386103 | 2010-05-04
2 | 1294386104 | 2010-05-04
3 | 1294386104 | 2010-05-04
4 | 1294386103 | 2010-05-03
5 | 1294386104 | 2010-05-03
6 | 1294386104 | 2010-05-03
7 | 1294386103 | 2010-05-02
8 | 1294386104 | 2010-05-02
9 | 1294386104 | 2010-05-02

нужно взять из базы числа не равные сегодняшней дате


$sql = "SELECT * FROM ".$prefix."_stats_data WHERE data !='".date("Y-m-d")."' ORDER by data";



и записать в таблицу архива в таком виде

data | ips
2010-05-02 |1294386104;1294386103
2010-05-03 |1294386104;1294386103
2010-05-04 |1294386104;1294386103

можно ли это сделать одним запросом

  Ответить  

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования