ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

18.12.2009, 01:01
|
|
Новичок
Регистрация: 17.12.2008
Сообщений: 3
Провел на форуме: 23112
Репутация:
0
|
|
Есть несколько баз данных на dle, скажите как их соединить в одну базу, или добавить к уже существующей базе базу
|
|
|

18.12.2009, 06:03
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Доброе утро!
Подскажите пожалуйста, как выбрать из таблички количество тех записей, которых в ней больше всего, сравнивая по полю id_channel ?
Код:
id ip id_channel time
|
|
|

18.12.2009, 08:04
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
Навскидку
Код:
SELECT COUNT(*) FROM `sometable`
WHERE `id_channel` =
(SELECT `id_channel` FROM `sometable` ORDER BY `id_channel` DESC LIMIT 1)
либо
Код:
SELECT COUNT(*) FROM `sometable`
GROUP BY `id_channel`
ORDER BY `id_channel` DESC LIMIT 1;
Последний раз редактировалось krypt3r; 18.12.2009 в 08:08..
|
|
|

18.12.2009, 08:42
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Есть табличка:
Код:
id ip id_channel time
1 70.88.31.247 613 1261099440
2 95.70.82.140 1016 1261099633
3 95.01.82.140 1016 1261099645
4 67.190.111.224 1388 1261099674
5 77.88.31.247 1315 1261099850
6 67.190.111.224 1502 1261099937
7 77.88.31.247 1715 1261099951
8 95.135.36.200 561 1261099988
9 77.88.30.247 1099 1261099995
10 90.71.02.140 1016 1261100724
11 95.71.82.140 1016 1261100731
Нужно выбрать из нее тот id_channel, который больше всего повторяется.
В нашем случае это 1016
Далее уже посчитать сколько раз повторяется.
krypt3r, Спасибо, но не работает 
|
|
|

18.12.2009, 08:51
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
Я не так задание понял. Попробуйте так
Код:
SELECT COUNT(*) FROM `sometable`
GROUP BY `id_channel` ORDER BY 1 DESC LIMIT 1;
|
|
|

18.12.2009, 08:54
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Сообщение от krypt3r
Я не так задание понял. Попробуйте так
Код:
SELECT COUNT(*) FROM `sometable`
GROUP BY `id_channel` ORDER BY 1 DESC LIMIT 1;
Попробывал, но тоже не работает
Код:
$result = mysql_query("SELECT COUNT(*) FROM `table` GROUP BY `id_channel` ORDER BY 1 DESC LIMIT 1");
$row = mysql_fetch_array($result);
echo $row["id_channel"];
echo mysql_num_rows($result);
|
|
|

18.12.2009, 09:12
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
PHP код:
$result = mysql_query("SELECT COUNT(*) AS `c` FROM `table` GROUP BY `id_channel` ORDER BY 1 DESC LIMIT 1");
$row = mysql_fetch_array($result);
echo $row['c'];
echo mysql_num_rows($result);
|
|
|

18.12.2009, 09:42
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
не, не хочет  (((
|
|
|

18.12.2009, 09:48
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
У меня все работает, обработайте возможные ошибки.
PHP код:
<?php
mysql_connect ('localhost', 'user', 'pass')
or die ("Connection failed\n");
if (mysql_select_db ('mybase')) {
$result = mysql_query ("SELECT COUNT(*) AS `c` FROM `sometable` GROUP BY `id_channel` ORDER BY 1 DESC LIMIT 1");
if ($result) {
$row = mysql_fetch_array ($result);
echo $row['c'], "\n";
echo mysql_num_rows ($result), "\n";
} else
echo "Query failed: " . mysql_error (), "\n";
} else
echo "Cannot select database\n";
mysql_close ();
?>
Выводит
Последний раз редактировалось krypt3r; 18.12.2009 в 09:56..
|
|
|

18.12.2009, 10:25
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
krypt3r, большое спасибо!
Вот так заработало всё:
$result = mysql_query("select count(id_channel), `id_channel` from `table` group by `id_channel` order by 1 desc limit 1");
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|