29 ноября 2016
Нет комментариев
SELECT * FROM `models` WHERE `name` REGEXP '^[0-9]+$';
SELECT * FROM `models` WHERE `name` REGEXP '^[0-9]+$';
mysql -u dbuser -p dbname < dump.sql
dbuser
— пользователь mysql
dbname
— база данных
dump.sql
— файл
mysqladmin -u dbuser -p -i 1 processlist
dbuser
— пользователь mysql
1
— интервал в секундах
Т.е. вначале товары с артикулами из списка, затем по обычной сортировке.
SELECT * FROM `catalog` WHERE `ison`=1 ORDER BY FIELD(`art`,'art78','art22','art11'), `ord` ASC
или еще варианты…
SELECT * FROM `catalog` WHERE `ison`=1 ORDER BY FIELD(`art`,'art78','art22','art11') DESC, `ord` ASC
или
SELECT * FROM `catalog` WHERE `ison`=1 ORDER BY IF(FIELD(`art`,'art78','art22','art11'),TRUE,FALSE) DESC, `ord` ASC
Находим строки в которых и значение chpu и parent_chpu одинаковы
SELECT x.* FROM seo AS x WHERE x.chpu IN ( SELECT y.chpu FROM seo AS y GROUP BY y.chpu,y.parent_chpu HAVING COUNT(*) > 1 ) ORDER BY chpu
Генерируем в формате A + id с ведущим нулем (7 цифр)
$ac=get_from_base('*','catalog','1','id'); foreach($ac as $c){ mysql_query("UPDATE `catalog` SET `code`='A".str_pad($c['id'],7,'0',STR_PAD_LEFT)."' WHERE id='".$c['id']."'"); }
т.е. для товара с id 1458 получим артикул A0001458
Например при фильтре по цене от 7 до 8 с учетом скидки 3%
AND (`price`-(`price`*3/100))>="7" AND (`price`-(`price`*3/100))<="8"