|
|
|
Запрос SELECT и ограничение результата
|
|||
|---|---|---|---|
|
#18+
Мне надо посчитать количество людей из таблицы 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(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 17:11 |
|
||
|
Запрос SELECT и ограничение результата
|
|||
|---|---|---|---|
|
#18+
Сумбурно как-то вопрос составлен... Мб LIMIT нужно использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 17:36 |
|
||
|
Запрос SELECT и ограничение результата
|
|||
|---|---|---|---|
|
#18+
Вышел из положения сделав временную таблицу, но мне кажется что все равно можно сделать одним запросом, только не знаю как. $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(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 17:48 |
|
||
|
Запрос SELECT и ограничение результата
|
|||
|---|---|---|---|
|
#18+
Так пробывал? COUNT(expr) Возвращает количество величин со значением, не равным NULL, в строках, полученных при помощи команды SELECT: mysql> SELECT student.student_name,COUNT(*) FROM student,course WHERE student.student_id=course.student_id GROUP BY student_name; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2005, 04:27 |
|
||
|
Запрос SELECT и ограничение результата
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2005, 12:52 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=33201465&tid=1853791]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
171ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 456ms |

| 0 / 0 |
