简体   繁体   English

获取需要的sql查询结果

[英]Get the required sql query result

mysql> select calendar.calId,calendar.cdate,lsUsers.userId,
              apptActual.OPDID,count(*) 
        from calendar 
        LEFT JOIN apptActual on calendar.calId=apptActual.calendarId
        LEFT JOIN lsUsers on lsUsers.userId=apptActual.OPDID 
        group by 1,2,3,4 order by 3
        desc limit 10;

Result is:结果是:

+-------+------------+--------+-------+----------+
| calId | cdate      | userId | OPDID | count(*) |
+-------+------------+--------+-------+----------+
|    76 | 2016-03-16 |     11 |    11 |        1 |
|    75 | 2016-03-15 |     11 |    11 |        1 |
|    77 | 2016-03-17 |      9 |     9 |        1 |
|    75 | 2016-03-15 |      8 |     8 |        1 |
|    75 | 2016-03-15 |      1 |     1 |        1 |
|  1279 | 2019-07-02 |   NULL |  NULL |        1 |
|  1287 | 2019-07-10 |   NULL |  NULL |        1 |
|  1295 | 2019-07-18 |   NULL |  NULL |        1 |
|  1303 | 2019-07-26 |   NULL |  NULL |        1 |
|  1311 | 2019-08-03 |   NULL |  NULL |        1 |
+-------+------------+--------+-------+----------+
10 rows in set (0.34 sec)

By using above query I am getting result as above, but I need result result like below (all userId's has to come.)通过使用上面的查询,我得到了上面的结果,但我需要像下面这样的结果(所有的 userId 都必须来。)

+-------+------------+--------+-------+----------+
| calId | cdate      | userId | OPDID | count(*) |
+-------+------------+--------+-------+----------+
|    76 | 2016-03-16 |     11 |    11 |        1 |
|    75 | 2016-03-15 |     11 |    11 |        1 |
|    77 | 2016-03-17 |      9 |     9 |        1 |
|    75 | 2016-03-15 |      8 |     8 |        1 |
|    75 | 2016-03-15 |      1 |     1 |        1 |
|  1279 | 2019-07-02 |      4 |  NULL |        1 |
|  1287 | 2019-07-10 |      21|  NULL |        1 |
|  1295 | 2019-07-18 |      3 |  NULL |        1 |
|  1303 | 2019-07-26 |      7 |  NULL |        1 |
|  1311 | 2019-08-03 |      5 |  NULL |        1 |
+-------+------------+--------+-------+----------+

Please suggest me how to get result as above!请建议我如何获得上述结果!

If you join lsUsers on userId = appActual.OPDID you will get what you ask for: usedId (NULL) = OPDID (NULL).如果您在 userId = appActual.OPDID 上加入 lsUsers,您将得到您所要求的:usedId (NULL) = OPDID (NULL)。 Is there any other way to join lsUsers?还有其他方法可以加入 lsUsers 吗?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM