Есть таблица (допустим 'table'), там есть записи, есть ячейки и т.д. Иногда в ячейке 'asd' появляются записи, одинаковые для разных строк Еще есть ячейка 'side' Как извлечь это число (если оно оlинаково для двух и более записей и при этом у них разное 'side')?
"по рейтингу" - как-то расплывчато, может это? SELECT t1.*, SUM(t2.rating) FROM users AS t1 LEFT JOIN ratings AS t2 ON t1.id=t2.user_id GROUP BY t1.id limit 0,10
Как-то ты не по-русски написал) Уточни что за число. И еще , ячейка я так понимаю это столбец? Если я правильно тебя понял, то получится следующее: PHP: SELECT id, asd FROM rndtable GROUP BY asd HAVING COUNT( asd ) >1 AND id IN ( SELECT id FROM rndtable GROUP BY side HAVING COUNT( side ) =1 )
Вобщем для примера: таблица table -- id -- asd -- side 1 -- 34 ---- 1 2 -- 34 ---- 1 3 -- 55 ---- 1 4 -- 55 ---- 2 так вот надо извлечь число "55", поскольку там одинаковое asd но разное side. // такая комбинация может возникнуть только с одним числом asd - просто примечание
Возможно так Code: SELECT DISTINCT `asd` FROM `sometable` GROUP BY `asd`, `side` HAVING COUNT(*) = 1;
!!!! Как правильно реализовать запрос к MySQL? Имеется таблица 01_sites с столбцом plan нужно как то отсортировать данные по убыванию при plan-$d3 $d3 - это переменная в коде php
Мне надо не по столбику plan отсортировать,а по переменной так скажем $d4=Некое_число-$row["plan"]; И выводить по убыванию по переменной $d4
PHP: $some_number = 123; mysql_query ("SELECT *, ($some_number - plan) AS d4 FROM 01_sites ORDER BY d4 DESC");
Мне в скрипте (как написал выше) нужно вставлять данные в базу, правильно ли будет, если запрос будет такого рода: PHP: $sql = 'INSERT INTO `post` VALUES (LAST_INSERT_ID(), ''user'', '''')'; В смысле постоянно будут делаться такие запросы. Для меня ещё трудно ориентироваться в sql, поэтому такие трудности придумываю.
Вопрос по MySQL. Есть таблица orders такого вида Code: CREATE TABLE `orders` ( `order_id` int(10) NOT NULL auto_increment, `order_total` float NOT NULL default '0', `order_date` datetime default '0000-00-00 00:00:00', `date_accepted` datetime NOT NULL, `date_rejected` datetime NOT NULL, `ship_date` datetime NOT NULL, `ship_method` varchar(45) NOT NULL default 'FEDEX2DAY', `sat_deliv` varchar(3) default 'no', `customer_id` int(11) NOT NULL default '0', `status` int(11) NOT NULL default '0', `p` tinyint(1) NOT NULL default '0', `phys_id` int(11) NOT NULL default '0', `shipping` float NOT NULL default '0', `payment_type` varchar(50) NOT NULL, `trans_id` varchar(200) NOT NULL, `p_id` int(11) NOT NULL default '1', `notes` text NOT NULL, `session_data` longtext NOT NULL, PRIMARY KEY (`order_id`), UNIQUE KEY `order_id` (`order_id`), KEY `order_date` (`order_date`), KEY `customer_id` (`customer_id`), KEY `ship_date` (`ship_date`), KEY `Index_5` (`status`), KEY `Index_6` (`p`), KEY `phys_id` (`phys_id`), KEY `order_date_2` (`order_date`) ) ENGINE=InnoDB AUTO_INCREMENT=62489 DEFAULT CHARSET=latin1 PACK_KEYS=0 COMMENT='InnoDB free: 37888 kB' Задача: Изменить тип поля order_id с INT на VARCHAR( либо TEXT или BLOB). Собственно в чем проблема alter table orders modify order_id varchar(100) Error: Error on rename of './db_name/#sql-45fd_8573d7' to './db_name/orders' (errno: 150) alter table orders modify order_id text Error: BLOB/TEXT column 'order_id' used in key specification without a key length Подскажите как все таки поменять тип у поля
Какую команду надо отправить чтобы получить значение поля: "user" записи с id: 1? ps: гугол молчит и дает много мусора...