2017-02-23 9 views
0

Columns of the DB in the image選択でサポートおよびアップデートは

は 私は次のクエリであなたの助けに感謝します、すべての尊敬しますベストセラー店、つまり最も売れている店が1番になります。 日付、店舗、販売、Rank_Sales_By_Date、 単一のクエリで可能かどうか、またどのメソッドでこの情報を使用してRank_Sales_By_Date列を更新できるかを知りたい場合は、私は日付( '2017-02-19')でフィルタリングされた部分クエリーを持っていますが、オブジェクトはすべての日付で日付順にランク付けされています。私は専門家ではないので、貴重な助けに感謝しますこれとともに。ありがとうございました。私が持っている質問、私は日付と列rank_salesの更新でツアーを行う必要があります:

更新は同じテーブルにありますが、私は適切な方法を検出していません。

は、私はあなたがuniqeキー(日付、店舗)を持っていると仮定し

列、

Date, Store, Sales, Rank_Sales_By_Date 
---- ----- ----- ------------------ 
+0

私は、最初のクエリを試してみましたが、私はそれを更新する方法がわからない..: ストアを選択し、日付、Sales_var、 店 (販売> Sales_var FROM( SELECT COUNT(営業)+ 1 AS販売)AND日付= '2017年2月19日' )ストア FROMランク AS WHERE日付= '2017年2月19日' パーフェクト作品Sales_var DESC – LeoCP

答えて

0

、事前にありがとうございました。

私は(ユーザー定義変数を使用して)フォロークエリにあなたの質問を解決するために提案します:

set @LastDate= Null, @LastSales= NULL, @CurRange=NULL; 
update Sale_Table 
set Rank_Sales_By_Date= if(@LastDate<=>Date, 
           if(Sales<=>@LastSales, 
            @CurRange, 
            @CurRange:[email protected]+1), 
           @CurRange:=1 + cast((@LastDate:=`Date`) as DATE) - `date` + (@LastSales:=Sales) - Sales) 
order by Date, Sales desc, Store; 

私はそれはあなたのための最後の部分(cast((@LastDate:=) as DATE) -日付+ (@LastSales:=Sales) - Sales)明確ではないと思います。それの値は常に0ですが、私は変数@LastDateにフィールドDateのValueと変数@LastSalesにsalesの値を割り当てるために使用します。

このクエリでは、同じ日に同じ売上を持つ2つのストアの範囲が同じになります。

+0

BY店舗、日付 ORDER BY GROUPは、非常に、とてもありがとう多くのあなたの助けに! 問題が解決しました!!!!! :) – LeoCP

+0

ようこそdear @ leocp –

+0

こんにちはH.K.ありがとうと私はあなたがまだレーダー上に自分自身を見つけることを願って、あなたの助けが幻想的でしたが、私はそれを確認した後、注文は連続して与えられ、私は降りる方法でフィールドでそれをやっていないことに気付きました..お願いします?あなたは使用することができます:@ LastDales =ヌル、@ LastSales = NULL、@ CurRange = NULLを使用することができます: – LeoCP

関連する問題