3
異なるWebサイトの製品の価格を比較しています。だから私は3
異なる価格があります。ウェブサイトがその製品を提供していない場合、価格は空です。Mysql sort BY列数
**id | name | price_1 | price_2 | price 3**
私はすべての3つのウェブサイトで入手可能な製品、からそれを並べ替えしたいと思います:
MySQLは次のようになります。製品には、ただ1つのWebサイトで利用可能です。
私はこれにアプローチする方法を理解できません!
空のフィールドがNULL値を持っている場合は、あなたがSELECT * FROM sometable ORDER BY ISNULL(price_1) + ISNULL(price_2) + ISNULL(price_3) DESC;
を使用することができます
ORDER BY price_1、price_2、price_3を使用してください –
データ構造が分かりやすく正規化されていればもっと簡単になります。次に、結合されたテーブルのレコードを 'COUNTするだけで、カウントでソートすることができます。 – David
@antonyそれは、最初のウェブサイトでのみ利用可能な製品を、2番目と3番目に利用可能な製品よりも高いランク付けにします。 – syck