我得来问这个问题,因为我已经生气,哭了,所有的事情,因为这真的杀了我。我讨厌SQL。但它必须完成。网站使用SQL。用其他数据获得最大值
我有这些表(缩短至necessessary,而不是真正的SQL):
CREATE TABLE deliverer(d_id INT PRIMARY KEY, name VARCHAR(80));
CREATE TABLE article(a_id INT PRIMATY KEY, brand VARCHAR(80));
CREATE TABLE delivers(d_id FOREIGN KEY(deliverer), a_id FOREIGN KEY(article));
我需要为每个brand
那些deliverers
,可提供最多的文章。我来至于此,只有两个小时的心灵扭曲后:
SELECT brand, MAX(cnt)
FROM
(SELECT COUNT(a.a_id) AS cnt, a.brand, d.d_id, d.name
FROM derliverer d, delivers l, article a
WHERE a.a_id = l.a_id AND l.d_id = d.d_id
GROUP BY a.brand, d.d_id, d.name)
GROUP BY brand;
我真的,真的,真的不明白有关SQL就是为什么它不会让我GROUP BY brand
和SELECT
d.name, d.d_id
。这真的没有意义。
在我跳出窗前请帮助我。
您正在使用什么RDBMS? – 2011-05-25 19:25:28
我认为这是DB2在生产中,不确定。在测试中使用MySQL。 – Lanbo 2011-05-25 19:27:49