我旁边有2个表:获取MAX()为每行COUNT()MYSQL
表querys并表时间:
id | text id | mid | country
1 hello 1 1 UK
2 hi 2 1 PL
3 sd 3 2 USA
ID =中旬,国家是不同的(英国,美国等上)。
我需要做下一个列表:
UK - text 30 rows (this text has most mid in table 2 for UK)
USA - text 25 rows
PL - text 10 rows
...
SS - text 1 rows.
现在我拥有的下一个想法: 获取其MID每个国家都有最大行数和MID = id来获取文字和排序。
SELECT time.country,querys.text,COUNT(mid) AS cnt
FROM time INNER JOIN `querys` ON(time.mid = querys.id)
GROUP BY mid
ORDER BY country,cnt
DESC
但有了这段代码,我收到所有的文本与计数。 如
UK text1 30,
UK text2 25,
PL text2 10,
PL text3 5 ..
但我只需要一个最大值为每一个国家,任何人都可以帮助如何查询切成每个国家最多1个文本?
我想知道你为什么得到这样的结果吗?你能提供符合你想要的结果的样本记录吗?给出这样的例子会让问题变得混乱。 perhps你可以建立它在http://www.sqlfiddle.com – 2013-05-11 15:02:13
http://www.sqlfiddle.com/#!2/a6182/1/0,现在我看到它不能正常工作,但主要问题在于:| – KorbenDallas 2013-05-11 15:15:17
根据小提琴的记录,你想要的输出是什么呢? – 2013-05-11 15:16:51