2016-10-10 3 views
-2

私はmysqlを知っていますが、このタイプのクエリはどのように実行されるのかわかりません。 給料合計が$ 50,000に達する6名の従業員を選択できるクエリが必要です。

ありがとうございます。

+1

はあなたのデータのサンプルを示して...そして、あなたのコード.. – scaisEdge

+0

あなたのデータ構造を示してください。 –

+0

6人の従業員を選ぶ基準は何でしょうか?合計50000までの複数の組み合わせがあります。 –

答えて

0

、行番号は6合計が50,000に等しいあったとき、すべての行をスキップします。このように私は給料の合計が50,000以下の6件のレコードを得ました。以下のコード:

$ query = mysqli_query($ conn、 "SELECT * FROM mma_player ORDER BY my_proj DESC"); しばらく($行= mysqli_fetch_array($クエリ)){

     $salary = $row['salary']; 
         $a = $salary + $salary_count; 

        if($row_count > 4 && $a > 50000){ 
         continue; 
         } 
        if($row_count > 6){ 
         continue; 
        } 
2

5つの結合でこれを行うことができます。以下は、テーブル構造についていくつかのことを前提とします。

それは、データベースからすべてのレコードを取得することにより、その給与を追加する同じ時間に可能であった
select * 
from employees e1 join 
    employees e2 
    on e1.employee_id < e2.employee_id join 
    employees e3 
    on e2.employee_id < e3.employee_id join 
    employees e4 
    on e3.employee_id < e4.employee_id join 
    employees e5 
    on e4.employee_id < e5.employee_id join 
    employees e6 
    on e5.employee_id < e6.employee_id 
where (e1.salary + e2.salary + e3.salary + e4.salary + e5.salary + e6.salary) = 50000 
+0

..です! @ MuhammadHamid。 –

+0

。 。どのように動作しませんか?それはあなたが求めているものを正確に実装します(データ構造について合理的な仮定をした後)。 –

+0

私は実際に給与の合計が50,000以下のデータベースからランダムな行を得る方法を探していましたが、実際にはこれは1つのクエリでは不可能でした。PHPを使ってレコードを取得していました。これはPHPのいくつかの小切手で可能であることがわかりました。私が作った小切手は –