2017-10-22 11 views
0

は、私のようなテーブルがあります。今、私は昇順「PRICE」の値によって、このペア(例えばname1URLとname1PRICE)を注文したいソート/注文ペア

column names: name1URL | name1PRICE | name2URL | name2PRICE | name3URL | name3PRICE .... 
example row: link1.co  1  link2.co  11  link3.co  4 

を...

URLS  | PRICES 
link1.co  1 
link3.co  4 
link2.co  11 

現在、私はそれらをphp配列に入れ、array_multisort()関数でそれらをソートします。

この問題のために、より高速で洗練されたMySQLソリューションがあるかどうかを知りたいだけです。前もって感謝します!

+0

後、SQLクエリ – Innervisions

+0

私はちょうどのためのループでそれらを変換し、(「データテーブルSELECT * FROM」)するmysql_queryを行います新しいテーブル形式に変換し、array_multisort()関数でそれらをソートします。 – redsunset

+0

よく考えてみると、あなたのDBは本当に奇妙に見えますが、なぜ1行にすべてがありますか?私は下の答えがうまくいくと思います。「ORDER BY table ASC」 – Innervisions

答えて

0

あなたはこのように、2列に列を取得するためにUNION ALLを使用することができます。

SELECT * 
FROM 
(
    SELECT name1URL AS URL, name1Price AS Price FROM table1 
    UNION ALL 
    SELECT name2URL, name2price from table1 
    UNION ALL 
    SELECT name3URL, name3price from table1 
    ... 
) AS t 
ORDER BY price 
+0

ありがとう!私はこれが助けると思う! PHPでmysq_queryを実行した後に値を取得するにはどうすればよいですか? – redsunset

+0

@redsunset - 私はPHPを知らないが、2つのカラム、 'URL'と' Price'を持っている。 –

+0

@redsunset "AS" name1URL AS URLの後の変数としてそれらを取得します。したがって、あなたのURLは "URL"です – Innervisions