我希望任何人都能帮助我完成这项任务,所以我在mysql数据库中有两个表:
Table1
+------+------------+
| Name | Data |
+------+------------+
| b | 2018-11-01 |
| c | 2018-11-01 |
| a | 2018-11-01 |
| d | 2018-11-01 |
| e | 2018-11-01 |
+------+------------+
Table2
+------+------------+------------+
| Name | Value | Data |
+------+------------+------------+
| b | Imported | 2018-11-01 |
| c | Activation | 2018-11-01 |
| a | Activation | 2018-11-01 |
| b | Activation | 2018-11-01 |
| b | Activation | 2018-11-01 |
| d | Activation | 2018-11-01 |
| a | Activation | 2018-11-01 |
+------+------------+------------+
请求的输出是:
+-------+-------+
| Name | Total |
+-------+-------+
| b | 2 |
| c | 1 |
| a | 2 |
| d | 1 |
| e | 0 |
+-------+-------+
注:请求表中的名称顺序应与表1中的相同。
我可以用这个查询得到类似的结果:
Select
t2.Name
, SUM(IF(t2.Value != 'Imported, 1, 0)) Total
FROM Table2 t2
WHERE t2.Data = '2018-11-01'
GROUP BY t2.Name
但结果的名称顺序与表1不同,但如下所示:
+-------+-------+
| Name | Total |
+-------+-------+
| a | 2 |
| b | 2 |
| c | 1 |
| d | 1 |
| e | 0 |
+-------+-------+
这就是为什么我需要表1,只是为了名字的顺序。
有人能帮我吗?
致以最诚挚的问候!
1条答案
按热度按时间6tdlim6h1#
如果这些只是元素,您可以简单地使用:
https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_find-成套
也可以使用:
字段(str、str1、str2、str3,…)