select count(0), id from ineb_labour_signed where first_party_id = 466 and recruit_id = 2327 GROUP BY id将这条sql修改为分别查询每一个id以及总条数
时间: 2024-02-19 16:02:51 浏览: 63
您可以使用子查询的方式来实现:
首先查询符合条件的总条数:
```
SELECT COUNT(*) FROM ineb_labour_signed WHERE first_party_id = 466 AND recruit_id = 2327;
```
然后查询每个ID对应的记录数量:
```
SELECT COUNT(*), id FROM ineb_labour_signed WHERE first_party_id = 466 AND recruit_id = 2327 GROUP BY id;
```
这两个查询语句可以分别执行,得到您需要的结果。
相关问题
SELECT iw.worker_work AS workers FROM ineb_worker iw LEFT JOIN sys_user su ON su.user_id = iw.user_id WHERE 1 = 1 AND su.is_can_account = 0 AND iw.worker_work in (26) GROUP BY iw.user_id 有数据但是查不到
可能是因为您使用的 LEFT JOIN 操作符,如果 ine_worker 表中有一些记录没有对应的 sys_user 表中的 user_id,那么这些记录在 JOIN 后会被过滤掉,因此您可能会找不到您想要的数据。您可以尝试使用 INNER JOIN 操作符,或者添加一个条件来包括没有对应记录的 ine_worker 数据行,例如:
```
SELECT iw.worker_work AS workers
FROM ineb_worker iw
LEFT JOIN sys_user su ON su.user_id = iw.user_id
WHERE 1 = 1
AND (su.is_can_account = 0 OR su.is_can_account IS NULL)
AND iw.worker_work IN (26)
GROUP BY iw.user_id;
```
这里我们添加了一个条件 `(su.is_can_account = 0 OR su.is_can_account IS NULL)`,这样就能够把没有对应记录的 ine_worker 数据行也包含进来。
SELECT count(wvr.visit_time = NOW()),count(wvr.visit_time = "2023-05-18 12:00:00") FROM worker_visit_record wvr LEFT JOIN ineb_worker iw ON wvr.user_id = iw.user_id LEFT JOIN sys_user su ON su.user_id = iw.user_id 时间不生效
你的 SQL 语句中,使用了 `count` 函数,并在 `count` 函数内部使用了比较运算符 `=`,这是不正确的语法。
如果你想要统计 `worker_visit_record` 表中 `visit_time` 等于当前时间或者等于指定时间的记录条数,可以使用以下 SQL 语句:
```
SELECT COUNT(*) FROM worker_visit_record WHERE visit_time = NOW() OR visit_time = '2023-05-18 12:00:00';
```
需要注意的是,`NOW()` 函数返回的是当前时间,格式为 `YYYY-MM-DD HH:MM:SS`,因此在比较时需要使用字符串类型的时间。同时,如果你的 `visit_time` 字段有时分秒的信息,需要保证格式和传入的时间字符串一致。
阅读全文