mysql - SQL multi-sorting database similar to excel -
first of i'm using mysql.
my database has 3 tables: rows, columns, cells. rows contains id, columns id , name cells crucial. looks this:
id | rowid | columnid | value1 | value2 | value3 | value4 | value5 | -------------------------------------------------------------------- 1 | 1 | 1 | v1 | v2 | v3 | v4 | v5 | -------------------------------------------------------------------- 2 | 1 | 2 | v5 | v6 | v7 | v8 | v9 | -------------------------------------------------------------------- 3 | 2 | 1 | v10 | v12 | v13 | v14 | v15 | -------------------------------------------------------------------- 4 | 2 | 2 | v1 | v2 | v3 | v4 | v5 | -------------------------------------------------------------------- 5 | 3 | 1 | v5 | v6 | v7 | v8 | v9 | -------------------------------------------------------------------- 6 | 3 | 2 | v10 | v12 | v13 | v14 | v15 | --------------------------------------------------------------------
it represents table 6 cells (2 columns , 3 rows) each contains 5 values. list of rows ids sorted multiple tables containing values.
example sort: value1=v10 , columndid=1, value4=v8 , columndid=2, , rest in order
output:
id | rowid | columnid | value1 | value2 | value3 | value4 | value5 | -------------------------------------------------------------------- 3 | 2 | 1 | v10 | v12 | v13 | v14 | v15 | 2 | 1 | 2 | v5 | v6 | v7 | v8 | v9 | 6 | 3 | 2 | v10 | v12 | v13 | v14 | v15 |
so right rows order 2 -> 1 -> 3
what got sql query:
select rowid cells columnid = 1 or columnid = 2 or order value1 = v10, value4 = v8;
but gives me output:
id | rowid | columnid | value1 | value2 | value3 | value4 | value5 | -------------------------------------------------------------------- 3 | 2 | 1 | v10 | v12 | v13 | v14 | v15 | 6 | 3 | 2 | v10 | v12 | v13 | v14 | v15 | 2 | 1 | 2 | v5 | v6 | v7 | v8 | v9 | 5 | 3 | 1 | v5 | v6 | v7 | v8 | v9 | 1 | 1 | 1 | v1 | v2 | v3 | v4 | v5 | 4 | 2 | 2 | v1 | v2 | v3 | v4 | v5 |
do have ides how handle kind of sorting?
hey can case order
so
order case when value1=v10 1 when value14=v8 2 when something=v2 3 end
this order number values cooresponding case statements, can creatively order want
mysql sql sorting
No comments:
Post a Comment