Mysql - 默认情况下将行计数到定义的值并对它们进行分组

标签 mysql

一点帮助:我必须计算一些数字直到定义的值并按 id 对它们进行分组。例如:
我的查询:

SELECT part_number, 
NAME, 
NAME2,
count(id) as tot_prod, 
min(serial_number) as serie_min, 
max(serial_number) as serie_max, 
opt_db.Quant as qty_default
FROM my_db, opt_db  
where my_db.NAME2 = '17EM_2'  and  my_db.name2=opt_db.vs 
group by my_db.number order by my_db.SERIAL_NUMBER

my_db 结果:

+-------------+-------+-------+----------+-----------+-----------+---------+
|   number    | NAME  | NAME2 | tot_prod | serie_min | serie_max | default |
+-------------+-------+-------+----------+-----------+-----------+---------+
| 312705      | 17E21 | 7EM_2 |        3 | 21895     | 21897     |       10|
| 311971      | 17E21 | 7EM_2 |       20 | 21900     | 21920     |       10|
| 311972      | 17E21 | 7EM_2 |        6 | 21925     | 21930     |       10|
+-------------+-------+-------+----------+-----------+-----------+---------+

但我想要这个 输出:

+-------------+-------+-------+-----+-------+----------+----------+--------+
|   number    | NAME  | NAME2 | tot | PACK  |serie_min |serie_max |default |
+-------------+-------+-------+-----+-------+----------+----------+--------+
| 312705      | 17E21 | 7EM_2 |   3 |  3    |  21895   | 21897    |   10   |
| 311971      | 17E21 | 7EM_2 |  20 | 10    |  21900   | 21910    |   10   |
| 311971      | 17E21 | 7EM_2 |  20 | 10    |  21911   | 21920    |   10   |
| 311972      | 17E21 | 7EM_2 |   6 |  6    |  21925   | 21930    |   10   |
+-------------+-------+-------+-----+-------+----------+----------+--------+

最佳答案

已解决:

SELECT GROUP_CONCAT(distinct m.SERIAL_NUMBER order by m.SERIAL_NUMBER ) as series, 
            m.partnumber,
            m.NAME,
            m.NAME2,
            count(distinct m.id) as tot_prod, 
            min(m.serial_number) as serie_min, 
            max(m.serial_number) as serie_max, 
            e.Quantidade as qty_default,
            e.qty_faltam
            FROM my_db as m,  op_db  as e
            where m.NAME = 'nameExample' and  m.name2=e.name2 and m.partnumber = e.part_num
            group by m.partnumber order by series

关于Mysql - 默认情况下将行计数到定义的值并对它们进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37140138/

相关文章:

php - 如何在 laravel 中检查今天的日期和时间

jquery - 运行执行 API 调用的最有效方法

MySQL 检查表中是否存在一组字段

php - PHP 中的 MySQL UNION 运算符错误

php - 使用 mysql、php 和 ajax(使用 jquery)创建表

javascript - 如何将具有多个对象的 JSON 对象转换为一组对象

mysql - session <> 扫描 : fetch all scans NOT yet performed

php - 使用 IN() 函数准备 MySQL 语句

Java SQL 100 万行

mysql - 如何在 MySQL 中搜索 1,2,3,4,5 等字符串时获得正确的结果