0
A
回答
4
多少“红色”与类型需要使用LEFT JOIN
而INNER JOIN
因为有一种可能性,即color
不会对其他存在表。
SELECT a.id,
a.colour,
SUM(type = 'a') TypeA,
SUM(type = 'b') TypeB
FROM tableColors a
LEFT JOIN tableName b
ON a.ncolour = b.colour
GROUP BY a.id, a.colour
SUM(type = 'a')
是计算来自布尔运算的结果的合计值一个MySQL特定语法。如果你想更RDBMS友好,使用CASE
SELECT a.id,
a.colour,
SUM(CASE WHEN type = 'a' THEN 1 ELSE 0 END) TypeA,
SUM(CASE WHEN type = 'b' THEN 1 ELSE 0 END) TypeB
FROM tableColors a
LEFT JOIN tableName b
ON a.ncolour = b.colour
GROUP BY a.id, a.colour
0
你可以做这样的事情,从表1 SELECT COUNT(红色);我不知道有关语法,你可以检查在这里
http://dev.mysql.com/doc/refman/5.0/es/counting-rows.html
http://www.mysqlperformanceblog.com/2007/04/10/count-vs-countcol/
1
SELECT a.colour ncolor,
SUM(a.type = 'a') amount_a,
SUM(a.type = 'b') amount_b
FROM table_name a
LEFT JOIN table_name b
ON a.colour = b.colour
GROUP BY a.id, a.colour
0
从你的屏幕,我说你要找的查询是一个简单的SELECT [...], COUNT(a), COUNT(b) FROM table1 GROUP BY colour
。
更确切地说:
SELECT colour AS ncolour
, COUNT(a) as amount_a
, COUNT(b) as amount_b
FROM table1
GROUP BY colour ;
附:我认为所要求的是MySQL查询从table1获取table2。
相关问题
- 1. MySql计数查询
- 2. 计数MySQL查询
- 3. Mysql查询选择计数列不同?
- 4. MySQL查询选择多个计数列
- 5. mySQL查询计数,选择三个表
- 6. MySql查询选择计数和组
- 7. MySQL查询加入和计数查询
- 8. MySQL查询 - 查询计数值
- 9. MySQL选择查询:计算计数并获得总计
- 10. 在mysql中选择相同的查询计数行和计数?
- 11. 加入计数MySQL查询
- 12. 行计数在MySQL查询
- 13. Mysql的计数ID查询
- 14. MYSQL计数查询错误
- 15. MySQL查询,计数问题
- 16. MySQL查询计数表行
- 17. MYSQL查询匹配计数
- 18. MYSQL子查询计数WHERE
- 19. 查询在MySQL中计数
- 20. mysql查询计数编号
- 21. 与计数mysql查询
- 22. mysql查询不计数
- 23. MySQL查询基于计数
- 24. MySQL查询计数问题
- 25. MySQL查询计数错误
- 26. MySQL查询计数记录
- 27. MySQL优化计数查询
- 28. MySQL查询(多重计数)
- 29. 简单计数Mysql查询
- 30. MySQL的计数查询
你有没有对此做过任何尝试?请包括您的查询,如果您有 – Paddyd
您是否熟悉'GROUP BY'?这可能值得阅读。 –