Рейтинг темы:
  • 1 Голос(ов) - 5 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Правильный Sql Запрос!
#1
Приветствую всех жителей этого форума! Прошу помочь с решением проблемы.

Знающие люди mysql и умельцы php! Подскажите как сделать правильный sql запрос подсчитывающий количество аккаунтов с одинаковым user_id!


Имеем базу данных "sitedb."

Содержимое таблицы "accounts" с аккаунтами базы "sitedb"

[Изображение: image.png]

Есть модуль регистрации!

Нужно написать запрос, выполняющих подсчет количества аккаунтов у определенного "user_id". Если количество аккаунтов у определенного "user_id" равно 5 - возвращаем ошибку.


Пример выполнения запроса:

Код:
        //// Count Accounts in DB ////
            $query = 'SELECT count(`login`) FROM #__accounts WHERE `login`= '.$db->Quote($Login);
            $db->setQuery($query);
            if ($db->loadResult()) {
                JError::raiseNotice( '', 'REGISTRATION_COUNT_5' );
                return false; /// STOP if Login = 5 ///
            }

[Изображение: 03.gif]
#2
SELECT user_id,COUNT(*) FROM accounts GROUP BY user_id;
покажет сколько логинов у всех user_id

SELECT user_id,COUNT(*) FROM accounts WHERE user_id='11' GROUP by user_id;
так покажет кол-во логинов у user_id 11.
#3
Показывает кол-во аккаунтов, у которых user_id='5'

[SRC="sql"]SELECT COUNT(login) FROM accounts WHERE user_id='5'[/SRC]
#4
Все не так поняли суть запроса.

Необходимо сделать запрос выполняющих подсчет количества аккаунтов у определенного "user_id". Если количество аккаунтов (поле "login") у определенного "user_id" (поле "user_id") равно 5 - возвращаем ошибку.

Сейчас попробую что нибудь придумать из ваших подсказок [Изображение: 15.gif]
#5
Krasavella Написал:Все не так поняли суть запроса.

Необходимо сделать запрос выполняющих подсчет количества аккаунтов у определенного "user_id". Если количество аккаунтов (поле "login") у определенного "user_id" (поле "user_id") равно 5 - возвращаем ошибку.

Сейчас попробую что нибудь придумать из ваших подсказок [Изображение: 15.gif]

после своего поста, я понял, что я Вас не понял :redlol: Сейчас я напишу позже, сек. Просто без теста не могу такой запрос написать сразу, только настрою доступ к базе. Ждите... )

P.S. винду перебивал.

Добавлено через 18 минут
Krasavella;275149 Написал:Необходимо сделать запрос выполняющих подсчет количества аккаунтов у определенного "user_id".
погодите. так мой запрос это и делает, вы ничего не путаете?
#6
РадужныйПони Написал:мой запрос это и делает, вы ничего не путаете?
Мне нужно, чтобы запрос выполнял функцию подсчета логинов у одного и того же user_id, если логинов больше или равно 5 то возвращаем ошибку
[Изображение: 06.gif]
#7
Krasavella Написал:Мне нужно, чтобы запрос выполнял функцию подсчета логинов у одного и того же user_id, если логинов больше или равно 5 то возвращаем ошибку
[Изображение: 06.gif]

ну, вы хоть проверяли мой запрос? Вы наверное не правильно толкуете, чего хотите.

Пример: считаем кол-во логинов, у которых user_id=5. результат с вашего скрина выйдет: 3

Не так?
#8
РадужныйПони Написал:ну, вы хоть проверяли мой запрос? Вы наверное не правильно толкуете, чего хотите.

Пример: считаем кол-во логинов, у которых user_id=5. результат с вашего скрина выйдет: 3

Не так?

Именно так! А как этот запрос укомпоновать в php скрипте? Чтобы выполнялся запрос и если количество логинов больше или равно 5 - return false; ?

Код:
        //// Count Accounts in DB ////
            $query = 'SELECT count(`login`) FROM #__accounts WHERE `login`= '.$db->Quote($Login);
            $db->setQuery($query);
            if ($db->loadResult()) {
                JError::raiseNotice( '', 'REGISTRATION_COUNT_5' );
                return false; /// STOP if Login = 5 ///
            }

[Изображение: 12.gif]
#9
а по поводу возвращаем ошибку, это уже в запрос не входит, делайте сами типо что-то:

[SRC="php"]
if ($result >= 5)
{
return false; // возвращаем ошибку в виду булевого значения
}
[/SRC]

Добавлено через 48 секунд
Krasavella, тьфу так бы сразу и сказали... , ща отредактирую ваш отрывок скрипта.

Добавлено через 7 минут
уточнить кое-что надо, это Вы сами писали?:

PHP код:
<?php 
$query
= 'SELECT count(`login`) FROM #__accounts WHERE `login`= '.$db->Quote($Login);

если нет, то покажите оригинал, а то не ясно кое-что. У меня мозг ломается от увиденного, как можно получать кол-во логинов где сам же логин = ... Бред какой-то. Структуру полную я не вижу, поэтому уточняйте.
#10
РадужныйПони Написал:это Вы сами писали?

Это пример другого запроса, для проверки существует ли логин[Изображение: 20.gif]


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  запрос sql. добавить предмет в дроп мобам по уровню sheg300 2 1,960 06-17-2018, 09:48 PM
Последний пост: PROGRAMMATOR
  Помогите создать правильный mssql запрос ussyka 2 1,576 09-03-2016, 12:32 AM
Последний пост: Stenly76
  Sql запрос Verizon 4 1,608 02-20-2016, 07:44 PM
Последний пост: PROGRAMMATOR
  Помогите составить правильно SQL запрос itcry 2 1,359 02-05-2016, 01:35 PM
Последний пост: itcry
  Подскажите запрос mego4el 9 2,279 09-18-2015, 04:07 PM
Последний пост: Dementor
  Ищу MySQL запрос singer 9 2,112 11-10-2014, 11:11 AM
Последний пост: Donatte
  sql запрос на удаление пустых аккаунтов sqll 6 2,246 05-08-2014, 01:14 AM
Последний пост: mishut
  Подскажите запрос mego4el 4 1,502 08-29-2013, 04:55 PM
Последний пост: KID
  [SQL]Подскажите запрос ipx 3 1,284 07-26-2013, 04:50 PM
Последний пост: AllMighty
  Правильный вызов html от NPC mego4el 7 2,091 07-21-2013, 09:42 PM
Последний пост: Mangol

Перейти к форуму:


Пользователи, просматривающие эту тему: 5 Гость(ей)