我在sqlite中有一个非常简单的表,其模式如下:
CREATE TABLE IF NOT EXISTS Palettes
(id INTEGER PRIMARY KEY AUTOINCREMENT,
class TEXT, count INTEGER, name TEXT);
这些表示颜色调色板,并且几个调色板可以具有相同的名称,但计数不同(即大小)。
我要做的是为每一组命名的调色板找到一个具有最大(或最小)计数的调色板。
我首先想到的是:
SELECT * FROM Palettes GROUP BY name;
但是,当然,我得到的哪一行是任意的。进一步看,即使我这样做:
SELECT MAX("count"), * FROM Palettes GROUP BY name;
我仍然有一个任意的排。
最后一枪:
SELECT * FROM (SELECT * FROM Palettes ORDER BY "count") GROUP BY name;
似乎
去工作,但我在任何地方都找不到任何保证。
有人能解决这个问题吗?当然,我可以用代码来解决它,但如果可能的话,我更喜欢SQL解决方案。
谢谢,
-马特