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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Не выполняются DELETE и TRUNCATE
 
 автор: mannnz   (15.03.2006 в 15:03)   письмо автору
 
 

У меня такая проблема: не работают в скрипте (php 4.4.1, mysql 4.0.25) ни 'DELETE FROM 'table' ' ни 'TRUNCATE TABLE 'table'' в чем может быть глюк?
Другие запросы в этом же скрипте (INSERT, SELECT, etc) нормально работают.

И еще - пишу статистику, есть 3 таблицы:
названия страниц { page_id int, name varchar(150) }
посещения { page_id int, user_id int, date_v date }
посещения спец страниц { user_id }
Нужна такая инфа для каждой страницы за определенный промежуток времени:

+----------------------+------------------------+----------------------------+------------------------------------+
| назв. страницы | уник. посещения | неуник. посещения | посещения спец страниц |
+----------------------+------------------------+----------------------------+------------------------------------+
| ....... | ............ | ......... | .............. |
+----------------------+------------------------+----------------------------+------------------------------------+


Долго мучился :) и написал такой запрос:

SELECT
pages.name,
COUNT(visits.user_id ) AS n_un,
COUNT( DISTINCT visits.user_id ) AS un,
COUNT( spec.user_id ) AS num_ord
FROM visits
LEFT JOIN pages ON visits.page_id = pages.page_id
LEFT JOIN spec ON .user_id = visits.user_id
WHERE (
visits.date_vis
BETWEEN "2005-01-01"
AND "2005-05-01"
)
GROUP BY visits.doorway_id;

Может кто хорошо в SQL разбирается скажет мне - этот запрос верен? (запрос что-то выдает, но проверить не могу :( в таблицах >300 000 записей)

   
 
 автор: Trianon   (15.03.2006 в 15:21)   письмо автору
 
   для: mannnz   (15.03.2006 в 15:03)
 

У MYSQL есть замечательное слово LIMIT!
SELECT ...
FROM ...
WHERE ....
LIMIT start, num;

num - сколько строк вывести
start - с какой по счету строки

А когда запросы не работают, надо смотреть mysql_error();

   
 
 автор: mannnz   (16.03.2006 в 10:41)   письмо автору
 
   для: Trianon   (15.03.2006 в 15:21)
 

LIMIT знаю и использую, я не могу проверить, т.к. подсчет происходит по n записям (n <= 300 000).
А про mysql_error(); я не вспомнил :) , спасибо. Буду пробовать.

   
 
 автор: Trianon   (16.03.2006 в 10:47)   письмо автору
 
   для: mannnz   (15.03.2006 в 15:03)
 

Это непонятно:
названия страниц { page_id int, name varchar(150) }
посещения { page_id int, user_id int, date_v date }
посещения спец страниц { user_id }

Имелось в виду так?
pages { page_id int, name varchar(150) }
visits { page_id int, user_id int, date_v date }
spec { user_id }

Если так, то непонятна последняя таблица. Почему в ней только один столбик, и какую связь она задает?

   
 
 автор: mannnz   (17.03.2006 в 22:38)   письмо автору
 
   для: Trianon   (16.03.2006 в 10:47)
 

>Имелось в виду так?

pages { page_id int, name varchar(150) }
visits { page_id int, user_id int, date_v date }
spec { user_id }


Да.

>Если так, то непонятна последняя таблица. Почему в ней
>только один столбик, и какую связь она задает?

На самом деле она такого вида:

spec { user_id int, referer varchar(150) }


Кто пришел и откуда. Это заходы на определенную страницу.
Она нужна определения сколько посетителей заходило на эту (spec) страницу из тех, которые заходили на другие (из visits).

   
 
 автор: Trianon   (17.03.2006 в 22:52)   письмо автору
 
   для: mannnz   (17.03.2006 в 22:38)
 

Что-то мне сомнительно , что
COUNT(visits.user_id ) AS n_un,
и
COUNT( DISTINCT visits.user_id ) AS un,
будут работать в одном запросе.

Что является первичным ключом таблицы visits?

   
 
 автор: mannnz   (21.03.2006 в 18:35)   письмо автору
 
   для: Trianon   (17.03.2006 в 22:52)
 

>Что-то мне сомнительно , что
>COUNT(visits.user_id ) AS n_un,

>COUNT( DISTINCT visits.user_id ) AS un,
>будут работать в одном запросе.

Так я ж считаю по visits.doorway_id

....
GROUP BY visits.doorway_id;


>Что является первичным ключом таблицы visits?

Первичного ключа нет.

   
Rambler's Top100
вверх

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