2016-10-20 7 views
0

を使用して5つの列を選択してください。レポートには5つの列(値は各列の合計でなければなりません)が必要です。 england_turist、polad_turists、us_turists、india_turists ... eng - 152(合計)、pol - 280(合計)、us - 54(合計)、 - 36(合計)...そしてクエリpol - 280とeng - 152を選択する必要があります。したがって、クエリはすべての列を合計し、最も高い値を持つ5つの列を選択する必要があります。php mysqlクエリ

私はここに起因するが、どのようにテーブルをトランスポーズ(行に列を変換)して、トップの値を選択

SELECT * FROM 
(
    SELECT 'Bmw' AS vrstaautomobila, SUM(bmw) AS brautomobila FROM unos_korisnika 
    UNION 
    SELECT 'Mercedes' AS vrstaautomobila, SUM(mercedes) AS brautomobila FROM unos_korisnika 
    UNION 
    SELECT 'Opel' AS vrstaautomobila, SUM(opel) AS brautomobila FROM unos_korisnika 
    UNION 
    SELECT 'Nissan' AS vrstaautomobila, SUM(nissan) AS brautomobila FROM unos_korisnika 
    UNION 
    SELECT 'Peguoet' AS vrstaautomobila, SUM(peguoet) AS brautomobila FROM unos_korisnika 
    UNION 
    SELECT 'Volkswagen' AS vrstaautomobila, SUM(volkswagen) AS brautomobila FROM unos_korisnika 
) 
AS results 
ORDER BY brautomobila DESC 
LIMIT 5 
+3

聖なる牛があなたがそれぞれの国のために列を作ることができますか?観光コラムと国コラムを作ってみませんか?これはSQLの意味ではありません。 – Phiter

+0

グループを使って、順序を並べ替え、トップ(5)などを使用してクエリを作成する方がさらに簡単になります – Phiter

+0

@PhiterFernandesあなたは正しいですが、ここでこのタイプの言語を使用しないでください – Kumar

答えて

1

クエリを作成するようになりました。

select * from transposed_table order by value_column desc limit 5 

、あなたのデータを転置するHow to transpose mysql table rows into columnsを使用したり、このSQL - How to transpose?

+0

私はホテル名を持っています。 ..すべてのホテルは、各conturyの毎日のturists収入の記録を置くので、列にする必要があります。だから私は今、conturyは最高の収入を必要とし、後で私はトップ5のホテルが必要になります。 http://prntscr.com/cwm1ah –

+0

は、SELECT SUM(at_turista)をa、SUM(bg_turista)をb、SUM(ba_turista)をc、SUM(gr_turista)をd、SUM(dk_turista)のようにsomethigを実行する可能性があります。 eとしてSUM(is_turista)をfとして、SUM(it_turista)をg からmytable'に変換し、a、b、c、d、f、gからより高い値を得る。 –

+0

at_turistaこれはなんですか? –