powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
10 сообщений из 10, страница 1 из 1
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
    #38623454
как все вытащить только отличающиеся ip и посчитать их кол-во. В i получаешься какого -то хрена 3 а не 2.
unsigned int i;
SQLQuery1->SQL->Clear();
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT ip) FROM users");
SQLQuery1->Open();
i=SQLQuery1->RecordCount;
...
Рейтинг: 0 / 0
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
    #38623469
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил ЧашаВ i получаешься какого -то хрена 3 а не 2.
Вообще-то 1 должно быть :)
Михаил Чашавытащить только отличающиеся ip
это выбирается запросом
Код: plaintext
1.
SELECT DISTINCT ip FROM users
...
Рейтинг: 0 / 0
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
    #38623477
а как получить кол-во уникальных записей?
...
Рейтинг: 0 / 0
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
    #38623495
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил Чашаа как получить кол-во уникальных записей?
так как ты написал, только имя полю дай
Код: plaintext
1.
SELECT COUNT(DISTINCT ip) as count_ip FROM users


затем читай что в count_ip первой записи. Как читать - синтаксис не знаю, если тоже не знаешь - пиши, кто-нибудь подскажет.
...
Рейтинг: 0 / 0
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
    #38623509
ну да было бы хорошо примерчик
...
Рейтинг: 0 / 0
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
    #38623545
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вероятно нужно ExecuteScalar
...
Рейтинг: 0 / 0
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
    #38623738
Короче я запарился разбираться сделал по еврейски но работает как нужно
unsigned int i;
AnsiString message;
SQLQuery1->SQL->Clear();
SQLQuery1->SQL->Add("SET NAMES cp1251");
SQLQuery1->ExecSQL(true);
SQLQuery1->SQL->Clear();
SQLQuery1->SQL->Add("SELECT DISTINCT ip FROM users");
SQLQuery1->Open();
i=0;
while (1)
{
message=SQLQuery1->FieldByName("ip")->AsString;
if (message=="")
break;
if (message!=Memo2->Lines->Strings[i])
Memo2->Lines->Add(message);
SQLQuery1->Next();
i++;
}
...
Рейтинг: 0 / 0
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
    #38623745
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил Чаша сделал по еврейски но работает
Поправлю терминологию, это называется "через .опу". Работать будет. Когда тупить и захлебываться твоя прога начнет - переделай.
...
Рейтинг: 0 / 0
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
    #38625819
Alex_Toms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если сервак отработает приведённый запрос, вернётся одна запись:
Код: plaintext
1.
2.
3.
4.
SQLQuery1->SQL->Clear();
SQLQuery1->SQL->Add("SELECT COUNT(ip) ip FROM (SELECT DISTINCT ip FROM users) t");
SQLQuery1->Open();
i=SQLQuery1->FieldByName("id")->AsInteger;


либо так, вернутся записей столько, сколько уникальных ip.
При этом курсор должен быть на клиенте (CursorLocation = clUseClient)
Код: plaintext
1.
2.
3.
SQLQuery1->SQL->Add("SELECT DISTINCT ip FROM users");
SQLQuery1->Open();
i=SQLQuery1->RecordCount; 


Удачи...
...
Рейтинг: 0 / 0
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
    #38631603
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT COUNT(*) cntip FROM tbl group by ip
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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