Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос SELECT и ограничение результата / 6 сообщений из 6, страница 1 из 1
03.08.2005, 17:11:16
    #33199945
stm_2005
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос SELECT и ограничение результата
Мне надо посчитать количество людей из таблицы finance, COUNT(finance.subject_id)
выдает слишком много, так как для одного человека может быть несколько записей,
а если сделать GROUP BY finance.subject_id то наоборот выдает слишком мало записей
т.е. дапостим не 2 а 1. Может кто подскажет в чем ошибка, сам не вижу.
$sth = $this->{dbh} -> prepare
("
SELECT
COUNT(finance.subject_id) AS count
FROM
old_home, new_home, finance, valid_table
WHERE
old_home.obl='$obl' AND
old_home.district='$district' AND
new_home.information='Покупка' AND
valid_table.subject_id=new_home.subject_id AND
old_home.subject_id=new_home.subject_id AND
finance.subject_id=new_home.subject_id
GROUP BY finance.subject_id;
");
$sth ->execute();
...
Рейтинг: 0 / 0
03.08.2005, 17:36:29
    #33200035
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос SELECT и ограничение результата
Сумбурно как-то вопрос составлен... Мб LIMIT нужно использовать?
...
Рейтинг: 0 / 0
03.08.2005, 17:48:05
    #33200088
stm_2005
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос SELECT и ограничение результата
Вышел из положения сделав временную таблицу, но мне кажется что все равно можно
сделать одним запросом, только не знаю как.

$sth = $this->{dbh} -> prepare
("
CREATE TEMPORARY TABLE
valid_table_1 (INDEX (subject_id))
TYPE = HEAP
SELECT
finance.subject_id
FROM
old_home, new_home, finance, valid_table
WHERE
old_home.obl='$obl' AND
old_home.district='$district' AND
new_home.information='Покупка' AND
valid_table.subject_id=new_home.subject_id AND
old_home.subject_id=valid_table.subject_id AND
finance.subject_id=valid_table.subject_id
GROUP BY subject_id;
");
$sth ->execute();

$sth = $this->{dbh} -> prepare
("
SELECT
COUNT(valid_table_1.subject_id) AS count
FROM
valid_table_1
");
$sth ->execute();
...
Рейтинг: 0 / 0
04.08.2005, 04:27:03
    #33200625
Steven13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос SELECT и ограничение результата
Так пробывал?

COUNT(expr)
Возвращает количество величин со значением, не равным NULL, в строках, полученных при помощи команды SELECT:
mysql> SELECT student.student_name,COUNT(*) FROM student,course
WHERE student.student_id=course.student_id
GROUP BY student_name;
...
Рейтинг: 0 / 0
04.08.2005, 12:52:37
    #33201465
Johnmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос SELECT и ограничение результата
Код: plaintext
1.
2.
3.
SELECT 
COUNT(DISTINCT finance.subject_id) AS count
FROM 
...
...
Рейтинг: 0 / 0
04.08.2005, 16:42:04
    #33202243
stm_2005
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос SELECT и ограничение результата
Johnmen
Код: plaintext
1.
2.
3.
SELECT 
COUNT(DISTINCT finance.subject_id) AS count
FROM 
...

Спасибо.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос SELECT и ограничение результата / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]