Архив

Архив раздела ‘MySQL’
7 февраля 2011 Нет комментариев

Например нужно выбрать 2-х пользователей из России, Украины или Польши и 7 пользователей из других стран которые зарегистрировались вчера. Запрос будет такой:

(SELECT username FROM users WHERE country IN ('RU','UA','PL') AND regdt = DATE_SUB(CURDATE(), INTERVAL 1 DAY) ORDER BY RAND() LIMIT 2) UNION (SELECT username FROM users WHERE country NOT IN ('RU','UA','PL') AND regdt = DATE_SUB(CURDATE(), INTERVAL 1 DAY) ORDER BY RAND() LIMIT 7)
Categories: MySQL Tags:
27 января 2011 1 комментарий

Как пример получаем записи, дата которых старше 30 дней, тип поля fieldname — DATE:

SELECT * FROM tablename WHERE fieldname < (NOW() - INTERVAL 30 DAY)
Categories: MySQL Tags:
18 января 2011 2 комментария

Вариант 1. Дату получаем на PHP:
Вариант 1.1.

$time=mktime(date('H'),date('i'),date('s'),date('m'),date('d')-1,date('Y'));
$yd=date("Y-m-d",$time);

Вариант 1.2.

$yd=date("Y-m-d",time()-3600*24);

Вариант 1.3.

$yd=date('Y-m-d',strtotime('yesterday'));

Вариант 1.4.

$yd=date('Y-m-d',strtotime('-1 day'));

из всех этих вариантов последний наверное самый нормальный.
Ну и сама выборка

$query=mysql_query("SELECT fieldname FROM tablename WHERE datefield='".$yd."'");

И вариант 2. где только sql-запрос. Самый правильный в данном случае.

$query=mysql_query("SELECT fieldname FROM tablename WHERE datefield = DATE_SUB(CURDATE(), INTERVAL 1 DAY)");
Categories: MySQL, PHP Tags: ,
7 января 2009 Нет комментариев
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8
Categories: MySQL Tags:
2 января 2009 Нет комментариев

Способ 1:
mysqladmin -u root password new_password
Способ 2:
mysql -u root mysql
Способ 3:
mysql>

SET PASSWORD FOR root@localhost=PASSWORD('new_password');
Categories: MySQL, Unix Tags: