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

Форум MySQL

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

 

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

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

тема: как в одном запросе можно подсчитать и сделать выборку?
 
 автор: ols   (24.10.2008 в 20:02)   письмо автору
 
 

..можно подсчитать и сделать выборку
Я делаю так, но пишет ошибку
SQL-запрос:

SELECT count( * ) , id_acc
FROM `account`

Ответ MySQL:
#1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause

  Ответить  
 
 автор: Trianon   (24.10.2008 в 20:04)   письмо автору
 
   для: ols   (24.10.2008 в 20:02)
 

что Вы хотите получить в результате?

UPD.прошу прощения. Кого я взялся учить...

  Ответить  
 
 автор: ols   (24.10.2008 в 20:14)   письмо автору
 
   для: Trianon   (24.10.2008 в 20:04)
 

Вообще нужно получить кол-во записей и выборку их одновременно.


>UPD.прошу прощения. Кого я взялся учить...
Не понимаю что Вы имеете ввиду, но мне до Вас еще расти и...

  Ответить  
 
 автор: Trianon   (24.10.2008 в 20:17)   письмо автору
 
   для: ols   (24.10.2008 в 20:14)
 

$sql = "SELECT * FROM `accounts`";
$res = mysql_query($sql);
$num = mysql_num_rows($res);
while(...



Замнем.

  Ответить  
 
 автор: ols   (24.10.2008 в 20:23)   письмо автору
 
   для: Trianon   (24.10.2008 в 20:17)
 

Да я тоже такой вариант продумал , но если очень много записей то при таком раскладе будет более дольше выполняться запрос чем COUNT(*).
Или я ошибаюсь?

  Ответить  
 
 автор: Trianon   (24.10.2008 в 20:25)   письмо автору
 
   для: ols   (24.10.2008 в 20:23)
 

Вы сказали, что Вам всё равно все записи нужно извлечь.
Не будь этого, конечно нужно брать COUNT(*)

  Ответить  
 
 автор: AcidTrash   (25.10.2008 в 00:10)   письмо автору
 
   для: Trianon   (24.10.2008 в 20:25)
 

Н-да, пойди туда не знаю куда, сделай то не знаю что. Все отлично.
Это относится к ols.

  Ответить  
 
 автор: Trianon   (25.10.2008 в 00:29)   письмо автору
 
   для: AcidTrash   (25.10.2008 в 00:10)
 

Ну почему....
в посте (24.10.2008 в 20:14) автор довольно четко сказал, что хочет получить.
А из других его топиков даже понятно, что за задачу он решает.

  Ответить  
 
 автор: Евгений Петров   (25.10.2008 в 01:18)   письмо автору
 
   для: ols   (24.10.2008 в 20:02)
 

Нельзя использовать агрегатные ф-ии типа COOUNT, MIN, MAX, AVG и т.д. без группировки. Сделайте группировку по первичном ключу.

SELECT COUNT(*), id_acc FROM `account` GROUP BY ваш_первичный_ключ

либо уберите 2-е поле
SELECT COUNT(*) FROM `account`

  Ответить  
 
 автор: Trianon   (25.10.2008 в 01:32)   письмо автору
 
   для: Евгений Петров   (25.10.2008 в 01:18)
 

>Нельзя использовать агрегатные ф-ии типа COOUNT, MIN, MAX, AVG и т.д. без группировки.
>Сделайте группировку по первичном ключу.
>либо уберите 2-е поле

Так можно или нельзя?

Группировка по первичному ключу, блин...
[... поправлено автором...]

  Ответить  
 
 автор: ronin80   (25.10.2008 в 18:03)   письмо автору
 
   для: Евгений Петров   (25.10.2008 в 01:18)
 

>Нельзя использовать агрегатные ф-ии типа COOUNT, MIN, MAX, AVG и т.д. без группировки.

почему же нет, можно если вы не используете (как вам и сообщает сервер миксуете) значения полей совместно с "группировочными" функциями "типа COOUNT, MIN, MAX, AVG и т.д"

т.е. такой запрос возможен:

SELECT COUNT(*) FROM `account`

а вот если вы добавляете в запрос значение какого-либо поля, как в вашем случае, то необходимо включить его в конструкцию GROUP BY

SELECT COUNT(*), id_acc FROM `account` GROUP BY id_acc

и именно id_acc, а не какой-то там первичный ключ

  Ответить  
 
 автор: Trianon   (25.10.2008 в 18:10)   письмо автору
 
   для: ronin80   (25.10.2008 в 18:03)
 

Все бы ничего, но автору топика не нужна группировка.
И сдается мне, id_acc - ключ самый что ни на есть первичный.

  Ответить  
 
 автор: ronin80   (25.10.2008 в 18:13)   письмо автору
 
   для: Trianon   (25.10.2008 в 18:10)
 

я вообще не очень представляю как должно выглядеть "Вообще нужно получить кол-во записей и выборку их одновременно."

причём в одном запросе, по моему это глупо. либо записи, либо общее количество

  Ответить  
Rambler's Top100
вверх

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