powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос SELECT и ограничение результата
6 сообщений из 6, страница 1 из 1
Запрос SELECT и ограничение результата
    #33199945
stm_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне надо посчитать количество людей из таблицы 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
Запрос SELECT и ограничение результата
    #33200035
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сумбурно как-то вопрос составлен... Мб LIMIT нужно использовать?
...
Рейтинг: 0 / 0
Запрос SELECT и ограничение результата
    #33200088
stm_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вышел из положения сделав временную таблицу, но мне кажется что все равно можно
сделать одним запросом, только не знаю как.

$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
Запрос SELECT и ограничение результата
    #33200625
Steven13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так пробывал?

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
Запрос SELECT и ограничение результата
    #33201465
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
SELECT 
COUNT(DISTINCT finance.subject_id) AS count
FROM 
...
...
Рейтинг: 0 / 0
Запрос SELECT и ограничение результата
    #33202243
stm_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Johnmen
Код: plaintext
1.
2.
3.
SELECT 
COUNT(DISTINCT finance.subject_id) AS count
FROM 
...

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


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