mysql - SQL 按列和列值分组?

标签 mysql sql database group-by sql-query-store

我有一个如下的招聘表:

------------------------------------------------------
| slot_id  |  hired_days |  qty  |  amt  |  return   |
-----------|-------------|-------|-------|-----------|
|    1     |     30      |   5   |  100  |     0     |
|    1     |     30      |  15   |  300  |     0     |
|    1     |     30      |  12   |  170  |     1     |
|    1     |     25      |  13   |  180  |     0     |
|    1     |     30      |   4   |  180  |     1     |
|    2     |     30      |  15   |  300  |     0     |
------------------------------------------------------

我希望结果按 slot_id 和hired_days 进行分组,但分组应该仅针对 0 行的返回值进行。结果表需要显示所有分组行并返回1条数据。有没有办法用 SQL 来做到这一点?

-------------------------------------------------------
| slot_id  |  hired_days |   qty  |  amt  |  return   |
|----------|-------------|--------|-------|-----------|
|   1      |     30      |   20   |  400  |     0     |
|   1      |     25      |   13   |  180  |     0     |
|   1      |     30      |   12   |  170  |     1     |
|   1      |     30      |    4   |  180  |     1     |
|   2      |     30      |   15   |  300  |     0     |
-------------------------------------------------------

最佳答案

您可以使用UNION操作

SELECT slot_id,hired_days,sum(qty),sum(amt),return FROM hiring
WHERE return=0 GROUP BY slot_id,hired_days 
UNION ALL 
SELECT slot_id,hired_days,qty,amt,return FROM hiring WHERE return =1

关于mysql - SQL 按列和列值分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45300120/

相关文章:

java - 错误 : syntax error at or near "$1" postgresql query with params

database - wpdb 删除查询计数

database - couchdb 使用分页显示不同的记录数?

php - 我可以在 sql 查询之间回显某些内容吗?

mysql - 如果不存在类似记录则添加新记录

php - 如何将所见即所得编辑的文本插入数据库

mysql - SQL连接两个表

MySql 将长unix转换为时间戳(以毫秒为单位)

MySQL Wordpress 数据搜索查询

mysql - gem 安装mysql : Failed to build gem native extension (Mac Lion)