我正在使用贝叶斯定理,但我发现很难提出一个特定的查询。我使用的是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,但有两个不同的事件具有不同的分数,我必须创建一个查询来显示具有最佳分数的结果。
下面是我正在尝试的查询的两行结果
EVENT LOCATION DOE PRI SCO
-------------------- -------------------- --------- --- ---
Wicked Glasgow 18-MAR-13 20 20
Rangers FC Glasgow 18-MAR-13 34 29我希望第二个在前面,因为它有更好的分数(29与20)。
我该怎么做呢?
发布于 2013-03-05 06:05:08
要选择得分最高的行,请使用带有限制表达式的ORDER BY子句:
SELECT *
FROM EVENTDETAIL
WHERE LOCATION = 'Glasgow'
AND DOE = '2013-03-18'
ORDER BY SCORE DESC
LIMIT 1你的题目具有误导性,因为你已经有了你的分数。此问题与计算贝叶斯模型分数没有任何关系。
https://stackoverflow.com/questions/15210243
复制相似问题