ホームページ >バックエンド開発 >PHPチュートリアル >PHPクエリmysql、IDカードフィールドに従って生年月日でソート
mysql データテーブル person に ID 番号フィールドがあり、ID 番号の 7 番目から 14 番目のフィールドである生年月日に基づいて並べ替えたいと考えています。ポイントは仕分けです。 person テーブルの作成ステートメントは次のとおりです:
$persql = "CREATE TABLE person
(
ID int NOT NULL AUTO_INCREMENT,
personID char(18) NOT NULL,
personName varchar(20),
homeID int,
about varchar(10) 、
sex varchar(4)、
edu varchar(8)、
mz varchar(4)、
PRIMARY KEY(ID)、
UNIQUE(personID)
)ENGINE=InnoDB DEFAULT CHARSET=utf8";
クエリステートメント $sql ="SELECT * FROM person";
$sp=mysql_query($sql, $con);
personID フィールドには ID 番号が格納されます。下図のように全フィールドを出力したいのですが、
生まれた年、月、日順に並べ替えたいです。
私が考えている現在の方法は、データを2次元配列に格納することです
$arr=array();
$i=0;
while ($row = mysql_fetch_array($sp)) {
$arr [$ i]=$row;
$i++;
}
2 次元配列をソートして出力します。しかし、この方法は面倒すぎると思うので、もっと良い方法があることを願っています。
mysqlで並べ替えることができます
SELECT *ご注文者様からSUBSTRING(personID,6,13) desc