Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT); / 10 сообщений из 10, страница 1 из 1
23.04.2014, 17:09
    #38623454
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
как все вытащить только отличающиеся 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
23.04.2014, 17:16
    #38623469
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
Михаил ЧашаВ i получаешься какого -то хрена 3 а не 2.
Вообще-то 1 должно быть :)
Михаил Чашавытащить только отличающиеся ip
это выбирается запросом
Код: plaintext
1.
SELECT DISTINCT ip FROM users
...
Рейтинг: 0 / 0
23.04.2014, 17:21
    #38623477
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
а как получить кол-во уникальных записей?
...
Рейтинг: 0 / 0
23.04.2014, 17:29
    #38623495
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
Михаил Чашаа как получить кол-во уникальных записей?
так как ты написал, только имя полю дай
Код: plaintext
1.
SELECT COUNT(DISTINCT ip) as count_ip FROM users


затем читай что в count_ip первой записи. Как читать - синтаксис не знаю, если тоже не знаешь - пиши, кто-нибудь подскажет.
...
Рейтинг: 0 / 0
23.04.2014, 17:33
    #38623509
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
ну да было бы хорошо примерчик
...
Рейтинг: 0 / 0
23.04.2014, 17:59
    #38623545
wvetal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
Вероятно нужно ExecuteScalar
...
Рейтинг: 0 / 0
23.04.2014, 20:26
    #38623738
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
Короче я запарился разбираться сделал по еврейски но работает как нужно
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
23.04.2014, 20:31
    #38623745
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
Михаил Чаша сделал по еврейски но работает
Поправлю терминологию, это называется "через .опу". Работать будет. Когда тупить и захлебываться твоя прога начнет - переделай.
...
Рейтинг: 0 / 0
25.04.2014, 14:53
    #38625819
Alex_Toms
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
Если сервак отработает приведённый запрос, вернётся одна запись:
Код: 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
02.05.2014, 21:53
    #38631603
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT);
SELECT COUNT(*) cntip FROM tbl group by ip
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / SQLQuery1->SQL->Add("SELECT COUNT(DISTINCT); / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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