Grzegorz Brzęczyszczykiewicz, permalink
Yra tokia nedidelė savadarbė DVS.
Joje kiekvienas dokumentas turi ID ir 'follows_id', kuris rodo po kurio
dokumento turi eiti šis dokumentas. Dokumentų daug, bet dokumentų
rinkinio pirmo dokumento 'follows_id'==0.
Mano bėda ta, kad ID nedidėja monotoniškai ir įvedus naują dokumentą jis
gali atsidurti labai pradžioje. Kol kas nenorių įvesti 'sortorder' kaip
atskiro lauko, manau kad 'linked list' turi šiokių tokių privalumų.
Kaip protingai išrikiuoti dokumentus pagal jų loginę seką?
PHP arba MySQL.
https://stackoverflow.com/questions/29655419/mysql-order-by-fields-parents
nepadeda, nes ID nedidėja monotoniškai, t.y. pagal šią nuorodą
'sortorder' gaunu:
SELECT id, project_id, follows_id, CONCAT(CAST(follows_id AS CHAR),'-',
CAST(id AS CHAR)) AS sortorder FROM documents where project_id=25
ORDER BY sortorder
id  project_id  follows_id  sortorder
280     25      0       0-280
267     25      276         276-267
268     25      267         267-268
281     25      280         280-281
282     25      281         281-282
283     25      282         282-283
285 25      284         284-285
276     25      285         285-276
O man reikia:
id  project_id  follows_id  sortorder
280     25      0       0-280
281     25      280         280-281
282     25      281         281-282
283     25      282         282-283
284 25      283         283-284
285 25      284         284-285
276     25      285         285-276
267     25      276         276-267
268     25      267         267-268
--
Grzegorz
Chrząszczyrzewoszyce, powiat Łękołody