CREATE TABLE `hh_members` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` text,
`hh_id` int(11) DEFAULT NULL,
`relation` int(2) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
データ:MySQLの順グループ
insert into `hh_members`(`id`,`name`,`hh_id`,`relation`) values (1,'Ramzee',1,1),(2,'Trats',1,2),(3,'Alpino',1,2),(4,'Frazier',1,4),(5,'Abraham',2,1),(6,'Woo Wu',2,3),(7,'John',2,3),(8,'Marie',3,3),(9,'Cruze',3,2),(10,'Jinga',3,1),(11,'Abraham',4,1),(12,'Kyla',4,2),(13,'Juanita',4,3);
クエリこれまで:
SELECT * FROM hh_members
ORDER BY NAME, hh_id, relation
出力がどうあるべきか: 'hh_id' によってグループ化された
レコードと'relation'すなわちrelation = 1は一番上にあるはずです。これらの2つは真ですが、アルファベット順にrelation = 1の 'name'もソートする必要があります。
つまり、データをhh_idとrelationでグループ化すると、各グループ/データセクション(hh_idで順序付けられている)をアルファベット順にソートする必要があります。
出力例:
は、同じグループの構造を維持しながら、1、2、3又はアルファベットA、J、Rによって順序付けされるべきです。
読者は出力例簡単 –
その理解できるように、あなたの出力は、...挿入されたデータと関連しなければならないレコードがすでにhh_idによって並べ替えられていたときにキーが名前欄でソートされ、関係 – Ayub