1

私は 3 つのテーブル (サンプル) を持っています。主要な制限 は
ありません

個数、該当する場合はパックと販売時期

これが私が組み合わせを作成する方法です

SELECT FT.FRUITS,  FT.COLOR, FT.TASTE, COUNT(FP.SALES) AS TOTAL, FP.TIMESOLD
FROM FRUITSTABLE FT
JOIN FRUTSPRICE FP  ON FT.ID = FP.ID
WHERE FP.TIMESOLD BETWEEN '2013-12-01 11:00:00' AND '2013-12-01 12:00:00'
GROUP BY FT.FRUITS, FT.COLOR, FT.TASTE

COMBINATIONS テーブルでは、それをグループ化してカウントすることで、1 時間あたりの最も可能性の高い果物の組み合わせを確認します。

SO 組み合わせは 1 時間ごとに 1 回発生します

まあ言ってみれば

例: マンゴー、黄色、酸味、10、午後 3 時
例: マンゴー、黄色、酸味、12、午後 4 時
例: マンゴー、黄色、酸味、14、午後 5 時
例: マンゴー、黄色、酸味、10、6 :00PM

毎時間、たとえば午後 3 時に マンゴー、イエロー、サワー、1、午後3 時
を挿入すると 、別の顧客が同じ時間にこの組み合わせを購入したため、データは マンゴー、イエロー、サワー、2、午後 3 時になります。



今、組み合わせて、それを挿入します。しかし、組み合わせが既に存在する場合、正直なところ、それを更新する方法がわかりません..5分ごとに更新する必要があります.SPを呼び出すSPとEVENTを作成できるかもしれません(これが正しいことを願っています)

唯一の問題は、方法がわからないことです: 選択、挿入、存在する場合 (FT.FRUITS、FT.COLOR、FT.TASTE の組み合わせは同じです) 更新 し
てください。
あらかじめ

PS。場合によっては、重複キーの更新で挿入を既に使用してい
ます。グループの組み合わせと 1 時間あたりの合計売上高 (FP.SALES) (TIMESOLD) を決定します。

編集

PS の置換は適用できません。
また、一意のキーを使用できない理由は、それが役に立たない
ためです..各組み合わせが発生するためです。毎時間..正直なところ、
私はすでに解決策を持っています。しかし、毎分更新されるわけで
はありません。私の解決策は1時間ごとに挿入されます。
それを行うことのマイナス面は、Webページのレコードがリアルタイムではないこと
です。私が理解する必要があるのは
、重複キーの更新時に挿入のような何かを行う方法です(ただし、主キーを使用しません)
回避策を作成できる場合は、テーブルが更新され、レコードがリアルタイムになるようにします

質問を何度も編集しなければならない場合は申し訳ありません。これが建設的であることを願っています..助けてくれてありがとう...

4

3 に答える 3

1

あなたはおそらくこれを探しています:

テーブルに挿入するか、存在する場合は更新します (MySQL)

また:

実際には (FT.FRUITS、FT.COLOR、FT.TASTE の) 組み合わせをキーにして、個別に複数の値を持つことができますが、テーブルにはそれらの一意の組み合わせがあります。

于 2013-09-20T16:20:34.103 に答える
0

念のため、insert の代わりに load data ステートメントを使用している場合 (csv またはカスタマイズされた区切りファイルからの読み取りなど)。置換フラグを使用できます。

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

于 2013-09-20T17:39:31.307 に答える