小编pse*_*ymo的帖子

返回每行的行组总和

不仅可以为每个单独的行返回满足选择标准的行的列值总和,而且可以为满足相同条件的多个组返回列值的总和吗?

例如,考虑:

id  order_id    quantity
1   1           1
2   1           3
3   1           5
4   2           2
5   2           4
Run Code Online (Sandbox Code Playgroud)

哪些MySQL SELECT查询可以返回以下结果:

id  order_id    quantity    order_sum
1   1           1           9
2   1           3           9
3   1           5           9
4   2           2           6
5   2           4           6
Run Code Online (Sandbox Code Playgroud)

编辑:后续问题:假设结果是从具有多个条件的查询中产生的,这些条件在最终查询中将如何处理?

mysql sql

4
推荐指数
2
解决办法
3142
查看次数

带有唯一键的 mySQL INSERT IGNORE SELECT 不起作用

尝试通过使用INSERT INTO SELECT并连接两个源表来填充一个空的 MySQL表。想根据定义为UNIQUE KEY 的两个目标表列忽略插入重复行,但由于某种原因,仍然插入基于这两列的重复行。

目标表定义:

CREATE TABLE `item` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `item_id` int(10) unsigned NOT NULL,
  `account_id` int(10) unsigned NOT NULL,
  `creation_date` datetime NOT NULL,
  `modification_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_item` (`item_id`,`account_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Run Code Online (Sandbox Code Playgroud)

插入查询:

INSERT IGNORE INTO item
            (id,
             item_id,
             account_id,
             creation_date,
             modification_date)
SELECT tblItem.ID,
       tblItem.itemID,
       tblOrder.accID,
       tblItem.itemTime,
       '0000-00-00 00:00:00'
FROM   tblItem
   INNER JOIN tblOrder …
Run Code Online (Sandbox Code Playgroud)

mysql insert

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×2

insert ×1

sql ×1