
25.04.2009, 16:42
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами:
9223466
Репутация:
3171
|
|
Решил делать както так:
PHP код:
$query = 'soad';
$check = mysql_query("SELECT * FROM stats WHERE name='$query'");
if(mysql_num_rows($check) > 0){
$assoc = mysql_fetch_assoc($check);
$update = mysql_query("UPDATE stats SET num='".$assoc['num']++."' WHERE id='".$assoc['id']."'");
}else{
$add = mysql_query("INSERT INTO stats VALUE(NULL,'".$query."','1')");
}
КТо подскажет посчет синтаксиса UPDATE, пользуюсь первый раз )
|
|
|

25.04.2009, 16:52
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами:
9223466
Репутация:
3171
|
|
Нашел свою ошибку,теперь собственно вопрос.
Как вытащить самые большие значения из бд?
Предположим есть в столбце num значения:
1,5,7,3,8,12.
Нужно вытащить 3 самых больших.ПОнятно что LIMIT, но вот что дальше?(
|
|
|

25.04.2009, 17:00
|
|
Познающий
Регистрация: 03.03.2009
Сообщений: 86
С нами:
9047791
Репутация:
258
|
|
2m0Hze
desc
|
|
|

25.04.2009, 17:06
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами:
9223466
Репутация:
3171
|
|
Сообщение от erihtoney
2m0Hze
desc
Хотелось бы поточнее с примером,потому что документация мало чем помогает мне 
|
|
|

25.04.2009, 17:22
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами:
9497186
Репутация:
1304
|
|
m0Hze Во-первых, есть соседняя тема с вопросами про MySQL. Во-вторых - не надо создавать лишнюю таблицу. В-третьих, запрос будет такой:
Код:
SELECT `zapros`, count(*) AS `cnt` FROM `table` GROUP BY `ipaddress` ORDER BY `cnt` DESC LIMIT 10;
Итого - zapros - имя столбца, через запятую можно еще добавить.
count(*) as `cnt` - количество строк
table - имя таблицы
GROUP BY `ipaddress` - по какому столбцу объединять
LIMIT 10 - 10 строк в выводе будет
|
|
|

25.04.2009, 17:28
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами:
9223466
Репутация:
3171
|
|
Сообщение от Gifts
m0Hze Во-первых, есть соседняя тема с вопросами про MySQL. Во-вторых - не надо создавать лишнюю таблицу. В-третьих, запрос будет такой:
Код:
SELECT `zapros`, count(*) AS `cnt` FROM `table` GROUP BY `ipaddress` ORDER BY `cnt` DESC LIMIT 10;
Итого - zapros - имя столбца, через запятую можно еще добавить.
count(*) as `cnt` - количество строк
table - имя таблицы
GROUP BY `ipaddress` - по какому столбцу объединять
LIMIT 10 - 10 строк в выводе будет
Почти ничего не понял  SQL - для меня дремучий лес 
В общем,вот так сейчас обстоят дела.
PHP код:
id name num
2 soad 7
3 fsoad 9
4 Авария 11
5 dff 39
5 Дебил 21
Нужно вытащить по столбу NUM 3 значения,самых больших.
Воть,я чтото с твоей конструкцией помудил,но ничего толкового невышло 
|
|
|

25.04.2009, 17:23
|
|
Познающий
Регистрация: 03.03.2009
Сообщений: 86
С нами:
9047791
Репутация:
258
|
|
PHP код:
SELECT column,...
[FROM table WHERE definition]
[ORDER BY col_name [ASC | DESC], ...]
[LIMIT [offset], rows]
Сообщение от mysql
Ключевое слово ORDER BY сортирует строки запросов по столбцу col_name в прямом (ASC) или обратном порядке (DESC).
Сообщение от mysql2
Для того чтобы сортировка производилась в обратном порядке, в утверждении ORDER BY к имени заданного столбца, в котором производится сортировка, следует добавить ключевое слово DESC (убывающий). По умолчанию принята сортировка в возрастающем порядке, который можно задать явно при помощи ключевого слова ASC.
Пример:
PHP код:
SELECT * FROM ORDER BY `Queries` DESC LIMIT 0 , 5
|
|
|

25.04.2009, 17:36
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами:
9497186
Репутация:
1304
|
|
m0Hze пффф, я-то думал хоть какой то лог у вас есть (типа кто, когда, что), а вы просто количество запросов увеличиваете :-\ Тогда так
PHP код:
SELECT id,name,num FROM table ORDER BY num DESC LIMIT 5
Последний раз редактировалось Gifts; 25.04.2009 в 17:39..
|
|
|

25.04.2009, 17:38
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами:
9223466
Репутация:
3171
|
|
Сообщение от Gifts
m0Hze пффф, я-то думал хоть какой то лог у вас есть (типа кто, когда, что), а вы просто количество запросов увеличиваете :-\ Тогда так
PHP код:
select id,name,num order by num desc limit 5
Со временем,все появиться.Просто,до этого я с мускулом работал на уровне регистрации.,болга,поо мелочи в ощем.А тут.... )
|
|
|

25.04.2009, 17:42
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами:
9223466
Репутация:
3171
|
|
Удивительное дело,немного поправил ваш запрос,и вот что получаю:
PHP код:
Запрос:
$query = mysql_query("SELECT id,name,num FROM stats ORDER BY num DESC LIMIT 3");
Ответ в fetch_array:
Array ( [0] => 5 [id] => 5 [1] => dff [name] => dff [2] => 39 [num] => 39 )
тоесть,он вытаскивает самое большое значение Ж( но 1
Последний раз редактировалось m0Hze; 25.04.2009 в 17:44..
|
|
|
|
 |
|
|
Здесь присутствуют: 17 (пользователей: 0 , гостей: 17)
|
|
|
|