0

我想知道如何进行查询MySQL以获取ID_COUNT / 8.

这是一个示例表:

 ID (INT)  | PRODUCT ID | TIME
  1        |     14     | 09:34:00
  5        |     26     | 09:47:00
  5        |     01     | 09:58:00
  1        |     02     | 10:10:00
  2        |     63     | 10:36:00
  4        |     59     | 10:47:00
  3        |     18     | 11:00:00
  1        |     27     | 11:15:00
  5        |     36     | 11:38:00
  1        |     44     | 09:34:00
  5        |     55     | 09:47:00
  5        |     14     | 09:58:00
  1        |     24     | 10:10:00
  2        |     54     | 10:36:00
  4        |     44     | 10:47:00
  3        |     54     | 11:00:00
  1        |     64     | 11:15:00
  5        |     14     | 11:38:00

我想在这里做的是,每次插入新行时,我都想得到COUNT那个ID(例如ID=5它将是 6),然后他们将该数字除以 8(6/8)然后得到该部门的其余部分。

顺便说一句,如果没有办法只使用 MySQL 的话,我正在使用 PHP。

在此先感谢,任何问题都可以提出!米格尔。

4

3 回答 3

0

使用MOD功能

查询你的例子

SELECT COUNT(1) MOD 8 AS result
FROM `table`
WHERE id=5

查询常见示例

SELECT id, COUNT(1) MOD 8 AS result
FROM `table`
GROUP BY id
于 2013-07-11T10:41:37.347 回答
0
SELECT MOD(cnt, 8) FROM (SELECT COUNT(ID) cnt FROM mytable GROUP BY ID)
于 2013-07-11T10:42:33.310 回答
0

您可以使用以下mod()功能:

select mod(count(*), 8)
from t
where id = @Last_Id

不是自动递增的id,因此您不能使用last_inserted_id().

于 2013-07-11T10:43:27.340 回答