ホームページ >バックエンド開発 >PHPチュートリアル >PHPクエリmysql、IDカードフィールドに従って生年月日でソート

PHPクエリmysql、IDカードフィールドに従って生年月日でソート

WBOY
WBOYオリジナル
2016-06-23 13:09:541518ブラウズ

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 * FROM person order by SUBSTRING(personID,7,8) desc


SELECT *ご注文者様からSUBSTRING(personID,6,13) desc

上の階の方、ありがとうございます!この機能はとても便利で、新たなスキルを身につけました。 🎜
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。