Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL将多行计算为一个查询_Mysql_Sql_Count - Fatal编程技术网

Mysql SQL将多行计算为一个查询

Mysql SQL将多行计算为一个查询,mysql,sql,count,Mysql,Sql,Count,有人能帮我吗。 这就是我要做的

有人能帮我吗。 这就是我要做的<我有一张桌子:

**tblColors**
id    color_name
1      red
2      blue
3      white
4      white
5      blue
6      red
7      blue
8      white
9      red
10     blue
例如,我接受3个用户输入:
1.红色 2.蓝色 3.白色的

我想数一数我的数据库中有多少套这3种颜色。(红蓝白)
在我的示例数据库中,答案应该是:


我在数据库中设置了2(红蓝白),因此结果应该是:2
对不起,问题的描述不是很清楚,但我希望你能理解

SELECT COUNT(*)
FROM   tblColors T1
       LEFT JOIN tblColors T2
           ON T1.id = T2.id - 1
       LEFT JOIN tblColors T3
           ON T2.id = T3.id - 1
WHERE  T1.color_name + '-' +
       T2.color_name + '-' +
       T3.color_name = 'red-blue-white'

为什么在
颜色\u名称上没有唯一的索引?您的答案中的
**
的目的是什么?我没有看到逻辑组。你想知道这些颜色的共同最大数量吗?那么你想知道是否有红色、蓝色和白色的序列吗?你在使用什么数据库?@TimSchmelter嗨,我编辑了我的帖子。请查看我帖子的答案,看看我想计算多少。@deterministicFail是的。有什么想法吗?+1即使不清楚是否应该计算
白蓝红
。@TimSchmelter基于OPs eaxample,颜色的顺序确实很重要。是的,但在大多数情况下,SO上的样本数据是不合适的。所以只要OP没有证实这一点,它就不是一成不变的。OP表示:“我想统计一下我的数据库中有多少组这3种颜色”A根据定义是无序的:“一组元素的排列顺序是不相关的(与序列或元组不同)”hi@GiannisParaskevopoulos,非常感谢这正是我想要做的。非常感谢@TimSchmelter教授,很抱歉我的描述不清楚,我的英语不太好,如果问题清楚的话,我相信你会回答的。无论如何,谢谢你。
SELECT COUNT(*)
FROM   tblColors T1
       LEFT JOIN tblColors T2
           ON T1.id = T2.id - 1
       LEFT JOIN tblColors T3
           ON T2.id = T3.id - 1
WHERE  T1.color_name + '-' +
       T2.color_name + '-' +
       T3.color_name = 'red-blue-white'