0

私はベイズの定理を使っていますが、特定のクエリを思い付くのが難しいと感じています。私はMySQLを使用していますが、これは私のスキーマです。

CREATE TABLE Event (
    EVENTID  NUMBER(4)  NOT NULL,
    EVENT    CHAR(20)   NOT NULL,
    PRIMARY KEY (EVENTID)
);

CREATE TABLE EVENTDETAIL (
    EVENTID   NUMBER(4)    NOT NULL,
    LOCATION  VARCHAR(20)  NOT NULL,
    PRICE     VARCHAR(3)   NOT NULL,
    DOE       DATE         NOT NULL,
    CATEGORY  VARCHAR(29)  NOT NULL,
    SCORE     VARCHAR(3)   NOT NULL,
    FOREIGN KEY (EVENTID) REFERENCES EVENT(EVENTID)
);

表にすべての属性を表示する必要がありeventdetailます。たとえば、 2013年3月18日にグラスゴーで開催されるイベントのNAMEすべてのEVENTDETAILSを表示する必要がありますが、スコアが異なる2つの異なるイベントがあり、最高のスコアで結果を表示するクエリを作成する必要があります。

これが私が試しているクエリの結果の2行です

EVENT                LOCATION             DOE       PRI SCO
-------------------- -------------------- --------- --- ---
Wicked               Glasgow              18-MAR-13 20  20
Rangers FC           Glasgow              18-MAR-13 34  29

29スコアが高いので( vs .) 、2番目のものを一番上に配置したいと思い20ます。

これどうやってするの?

4

1 に答える 1

0

スコアが最も高い行を選択するには、LIMIT式を指定したORDERBY句を使用します。

SELECT *
FROM   EVENTDETAIL
WHERE  LOCATION = 'Glasgow'
   AND DOE = '2013-03-18'
ORDER BY SCORE DESC
LIMIT 1

あなたはすでにあなたのスコアを持っているので、あなたの質問のタイトルは誤解を招くものです。この質問は、ベイズモデルのスコアの計算とは何の関係もありません。

于 2013-03-04T22:05:08.080 に答える