
28.04.2010, 21:50
|
|
Познающий
Регистрация: 29.05.2009
Сообщений: 55
С нами:
8922379
Репутация:
7
|
|
как удалить одинаковые колонки в mysql
нашёл запрос
PHP код:
delete from TABLE where itableindex not in (select distinct * from TABLE)
ну чёта он не работает (
|
|
|

29.04.2010, 12:43
|
|
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
С нами:
10143686
Репутация:
526
|
|
2 Dark_cracker
Одинаковые "колонки" (атрибуты) или одинаковые "строки" (кортежи)?
Попонятней пожалуйста, и побольше конкретики 
|
|
|

30.04.2010, 15:29
|
|
Познающий
Регистрация: 04.11.2007
Сообщений: 51
С нами:
9746190
Репутация:
6
|
|
Как увеличить значение ячейки на 1?
считывать значение ячейки ,делать $a++ потом опять записывать - долго...
может есть вариант получше?
|
|
|

30.04.2010, 15:53
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами:
9649706
Репутация:
3338
|
|
update `users` set `point`= `point`+'1' where `id`='2';
|
|
|

01.05.2010, 09:52
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
С нами:
9626394
Репутация:
357
|
|
Как используя только СУБД (MySQL) и phpmyadmin заполнить столбец всех записей случайными значениями?
Ответ:
Код:
UPDATE `tabel` SET `name` = MD5(RAND())
Последний раз редактировалось НTL; 01.05.2010 в 14:19..
|
|
|

03.05.2010, 00:28
|
|
Познающий
Регистрация: 29.05.2009
Сообщений: 55
С нами:
8922379
Репутация:
7
|
|
Одинаковые "колонки" (атрибуты) или одинаковые "строки" (кортежи)?
Попонятней пожалуйста, и побольше конкретики
имелось введу строки , с тем разобрался ну всёравно не откозался бы от ответа...
Последний раз редактировалось Dark_cracker; 03.05.2010 в 00:56..
|
|
|

03.05.2010, 14:05
|
|
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
С нами:
10143686
Репутация:
526
|
|
Сообщение от Dark_cracker
имелось введу строки , с тем разобрался ну всёравно не откозался бы от ответа...
Если есть первичный ключ - особой проблемы не вижу. Берем по одному из дублирующихся, и удаляем кортежи с не совпадающими PK.
Если же его нет (мало ли кто, как и зачем проектировал) - то почему бы не наживать себе геморрой и не воспользоваться временными таблицами?
|
|
|

04.05.2010, 17:34
|
|
Участник форума
Регистрация: 04.03.2006
Сообщений: 159
С нами:
10625303
Репутация:
39
|
|
Помогите плз с оптимизацией:
есть запрос:
PHP код:
select w.city,r.name as cityname,w.sunrise,w.sunset,w.date,w.dpart,w.type,w.winddir,w.windspd,w.pressure,w.dampness,w.obstime,w.wcolor,w.temp,w.ncolor,w.ntemp,w.tomcolor,w.tomtemp,r.offset,
if (w.sunrise < date_format(date_sub(now(), interval (14400-(r.offset)) second),'%H:%i:%s')
and w.sunset > date_format(date_sub(now(), interval (14400-(r.offset)) second),'%H:%i:%s'),
timediff(w.sunset,date_format(date_sub(now(), interval (14400-(r.offset)) second),'%H:%i:%s')),
if (date_format(date_sub(now(), interval (14400-(r.offset)) second),'%H:%i:%s') > '00:00:00' and
date_format(date_sub(now(), interval (14400-(r.offset)) second),'%H:%i:%s') < w.sunrise,
timediff(w.sunrise,date_format(date_sub(now(), interval (14400-(r.offset)) second),'%H:%i:%s')),
addtime(timediff('23:59:59',date_format(date_sub(now(), interval (14400-(r.offset)) second),'%H:%i:%s')),w.sunrise))
) as `change`,
if (w.sunrise < date_format(date_sub(now(), interval (14400-(r.offset)) second),'%H:%i:%s')
and w.sunset > date_format(date_sub(now(), interval (14400-(r.offset)) second),'%H:%i:%s'),1,0) as lite,
date_sub(now(), interval (14400-(r.offset)) second) as `localtime`
from weather w left join regions r on w.city=r.city where w.city = $city order by w.id desc limit 1
Там часто используется выражения типа
Код:
date_format(date_sub(now(), interval (14400-(r.offset)) second),'%H:%i:%s'))
для получения локального времени. как можно все это загнать в переменную, и в принципе уменьшить запрос, хотя-бы для экономии трафика?
Используется тут: http://export.selaz.org/weather/
Структура таблиц:
Код:
CREATE TABLE IF NOT EXISTS `regions` (
`id` int(11) NOT NULL auto_increment,
`yanid` int(11) NOT NULL,
`city` int(11) NOT NULL,
`name` varchar(64) NOT NULL,
`offset` int(11) NOT NULL,
`weather` tinyint(1) default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `yanid` (`yanid`),
UNIQUE KEY `city` (`city`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `weather` (
`id` int(11) NOT NULL auto_increment,
`city` int(11) NOT NULL,
`sunrise` time NOT NULL,
`sunset` time NOT NULL,
`date` date NOT NULL,
`dpart` tinyint(4) NOT NULL,
`type` varchar(32) NOT NULL,
`windspd` tinyint(4) NOT NULL,
`winddir` varchar(8) NOT NULL,
`pressure` smallint(6) NOT NULL,
`dampness` tinyint(4) NOT NULL,
`obstime` time NOT NULL,
`temp` tinyint(11) NOT NULL,
`wcolor` varchar(6) NOT NULL,
`ncolor` varchar(6) NOT NULL,
`ntemp` tinyint(4) NOT NULL,
`tomcolor` varchar(6) NOT NULL,
`tomtemp` tinyint(4) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `city` (`city`,`date`,`obstime`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Последний раз редактировалось OdaN; 04.05.2010 в 17:39..
|
|
|

05.05.2010, 11:27
|
|
Новичок
Регистрация: 25.06.2007
Сообщений: 16
С нами:
9935805
Репутация:
8
|
|
помогите составить запрос к бд
есть таблица "data " в ней столбец "ALT" в этой таблице 35000 строк
Нужно заменить все данные столбца "ALT" для всех сторок и вставить значение по порядку от 1 - 35000. Как это сделать.
как то так ?
Update "data"
|
|
|

05.05.2010, 23:38
|
|
Новичок
Регистрация: 25.04.2010
Сообщений: 6
С нами:
8445620
Репутация:
0
|
|
Сообщение от dokwill
помогите составить запрос к бд
есть таблица "data " в ней столбец "ALT" в этой таблице 35000 строк
Нужно заменить все данные столбца "ALT" для всех сторок и вставить значение по порядку от 1 - 35000. Как это сделать.
как то так ?
Update "data"
"UPDATE data SET ALT='$i' WHERE id='$i'"
где значение переменной $i от 1 до 35000, перебор осуществляется в цикле.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|